/* Atreve-te Advanced Side Menu — front office */
.aam-root {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-family: Arial, Helvetica, sans-serif;
    vertical-align: middle;
    margin-left: var(--aam-button-margin-left, 0px);
    margin-right: var(--aam-button-margin-right, 0px);
}

.aam-root.aam-align-left { justify-content: flex-start; }
.aam-root.aam-align-center { justify-content: center; }
.aam-root.aam-align-right { justify-content: flex-end; }

.aam-root.aam-position-fixed_left,
.aam-root.aam-position-fixed_right {
    position: fixed;
    top: var(--aam-button-offset-y, 0px);
    z-index: var(--aam-button-zindex, 10000);
}

.aam-root.aam-position-fixed_left {
    left: var(--aam-button-offset-x, 0px);
}

.aam-root.aam-position-fixed_right {
    right: var(--aam-button-offset-x, 0px);
}

.aam-root.aam-position-inline {
    position: relative;
}

.aam-trigger {
    width: clamp(var(--aam-button-min-size, 46px), var(--aam-button-fluid-size, 3.2vw), var(--aam-button-max-size, 64px));
    height: clamp(var(--aam-button-min-size, 46px), var(--aam-button-fluid-size, 3.2vw), var(--aam-button-max-size, 64px));
    border: 0;
    background: transparent;
    color: var(--aam-button-color, #000000);
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color .3s ease, transform .3s ease, filter .3s ease;
    z-index: var(--aam-button-zindex, 10000);
    font-size: clamp(var(--aam-button-min-size, 46px), var(--aam-button-fluid-size, 3.2vw), var(--aam-button-max-size, 64px));
}

.aam-trigger-icon {
    width: var(--aam-icon-scale, 100%);
    height: var(--aam-icon-scale, 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
    font-size: var(--aam-icon-scale, 100%);
    color: inherit;
}

.aam-trigger-icon svg,
.aam-trigger-icon img {
    width: 100%;
    height: 100%;
    display: block;
}

.aam-trigger-icon img {
    object-fit: contain;
}

.aam-trigger-icon-fontawesome i {
    display: inline-block;
    width: auto;
    height: auto;
    color: inherit;
    font-size: 100%;
    line-height: 1;
}

.aam-trigger:hover {
    color: var(--aam-button-hover-color, #800020);
    transform: scale(1.12);
    filter: drop-shadow(0 0 5px rgba(128, 0, 32, .35));
}

.aam-overlay {
    position: fixed;
    inset: 0;
    background: var(--aam-overlay, rgba(0,0,0,.58));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 99990;
    transition: opacity .28s ease, visibility .28s ease;
}

.aam-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: min(
        clamp(var(--aam-panel-min-width, 300px), var(--aam-panel-preferred-width, 34vw), var(--aam-panel-max-width, 440px)),
        calc(100vw - var(--aam-panel-side-gap, 24px))
    );
    max-width: calc(100vw - var(--aam-panel-side-gap, 24px));
    height: 100vh;
    background: var(--aam-panel-bg, #2f2f2f);
    color: var(--aam-panel-text, #ffffff);
    z-index: 99991;
    isolation: isolate;
    transform: translateX(-105%);
    transition: transform .34s ease;
    box-shadow: 16px 0 34px rgba(0,0,0,.26);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}


/* Optional photographic / graphic panel background.
   Separate layers keep image opacity and overlay independent from menu content. */
.aam-panel-bg-image-layer,
.aam-panel-bg-overlay-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    visibility: hidden;
}

.aam-panel-bg-image-layer {
    z-index: 0;
    background-image: var(--aam-panel-bg-image, none);
    background-size: var(--aam-panel-bg-image-size, cover);
    background-position: var(--aam-panel-bg-position-x, 50%) var(--aam-panel-bg-position-y, 50%);
    background-repeat: var(--aam-panel-bg-repeat, no-repeat);
    opacity: var(--aam-panel-bg-image-opacity, 1);
    filter: blur(var(--aam-panel-bg-image-blur, 0px)) brightness(var(--aam-panel-bg-image-brightness, 100%));
    transform: scale(var(--aam-panel-bg-image-scale, 1));
    transform-origin: center center;
}

.aam-panel-bg-overlay-layer {
    z-index: 1;
    background: var(--aam-panel-bg-overlay-color, #000000);
    opacity: var(--aam-panel-bg-overlay-opacity, .35);
    mix-blend-mode: var(--aam-panel-bg-overlay-blend, normal);
}

.aam-panel.aam-has-panel-bg-image .aam-panel-bg-image-layer,
.aam-panel.aam-has-panel-bg-overlay .aam-panel-bg-overlay-layer {
    visibility: visible;
}

.aam-panel > .aam-close {
    z-index: 2;
}

.aam-panel > .aam-panel-body {
    position: relative;
    z-index: 2;
}

.aam-root.is-open .aam-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.aam-root.is-open .aam-panel {
    transform: translateX(0);
}

.aam-panel-top {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 22px 22px 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    position: relative;
}

/* Brand/logo area
   - Logo can be full width or smaller based on module settings.
   - Logo and text can be placed above/below/side-by-side through the module layout option. */
.aam-logo-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.aam-logo {
    width: var(--aam-logo-width, 100%);
    max-width: 100%;
    max-height: var(--aam-logo-max-height, 120px);
    height: auto;
    object-fit: contain;
    display: block;
}

.aam-logo-align-left .aam-logo-wrap {
    justify-content: flex-start;
}

.aam-logo-align-center .aam-logo-wrap {
    justify-content: center;
}

.aam-logo-align-right .aam-logo-wrap {
    justify-content: flex-end;
}

.aam-brand-text {
    min-width: 0;
    width: 100%;
    text-align: center;
}

.aam-text-align-left .aam-brand-text {
    text-align: left;
}

.aam-text-align-center .aam-brand-text {
    text-align: center;
}

.aam-text-align-right .aam-brand-text {
    text-align: right;
}

.aam-title {
    font-family: var(--aam-title-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-title-font-size, 18px) !important;
    line-height: 1.1;
    font-weight: var(--aam-title-font-weight, 700) !important;
    letter-spacing: .4px;
    color: var(--aam-panel-text, #ffffff);
}

.aam-subtitle {
    margin-top: 4px;
    font-family: var(--aam-subtitle-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-subtitle-font-size, 12px) !important;
    line-height: 1.25;
    font-weight: var(--aam-subtitle-font-weight, 400) !important;
    color: var(--aam-panel-muted, #d8d8d8);
}

.aam-header-layout-text_above_logo .aam-logo-wrap {
    order: 2;
}

.aam-header-layout-text_above_logo .aam-brand-text {
    order: 1;
}

.aam-header-layout-logo_above_text .aam-logo-wrap {
    order: 1;
}

.aam-header-layout-logo_above_text .aam-brand-text {
    order: 2;
}

.aam-header-layout-logo_left_text_right {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding-right: 54px;
}

.aam-header-layout-logo_left_text_right .aam-logo-wrap {
    width: var(--aam-logo-width, 38%);
    flex: 0 0 var(--aam-logo-width, 38%);
    justify-content: flex-start;
}

.aam-header-layout-logo_left_text_right .aam-logo {
    width: 100%;
}

.aam-header-layout-logo_left_text_right .aam-brand-text {
    flex: 1 1 auto;
}

.aam-header-layout-logo_only .aam-logo-wrap {
    margin-right: 34px;
}

.aam-header-layout-text_only .aam-brand-text {
    padding-right: 34px;
}

.aam-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: var(--aam-panel-text, #ffffff);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    transition: color .25s ease, transform .25s ease;
}

.aam-close:hover {
    color: var(--aam-accent, #87001f);
    transform: scale(1.08);
}

.aam-panel-body {
    padding: 12px 0 26px;
}

.aam-leo-output,
.aam-custom-zones {
    width: 100%;
}

.aam-warning {
    margin: 16px 18px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    color: var(--aam-panel-muted, #d8d8d8);
    font-size: 13px;
    line-height: 1.4;
}

/* Normalize imported Leo menu inside our panel */
.aam-panel ul,
.aam-panel li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aam-panel a {
    color: var(--aam-panel-text, #ffffff);
    text-decoration: none;
}

.aam-panel .navbar,
.aam-panel .navbar-nav,
.aam-panel .leo-megamenu,
.aam-panel .leo-verticalmenu,
.aam-panel .megamenu,
.aam-panel .dropdown-menu {
    position: static !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}


/* Leo Live Edit uses .dropdown-sub and, for grouped mega menus, .dropdown-mega.
   Keep their base geometry neutral inside the side panel; visibility is handled
   by the 1.8.5 flyout rules below. */
.aam-panel .dropdown-sub,
.aam-panel .dropdown-mega {
    float: none !important;
    max-width: none;
    min-width: 0;
}

.aam-panel .nav > li,
.aam-panel li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.aam-panel .nav > li > a,
.aam-panel li > a,
.aam-panel .dropdown-item,
.aam-zone-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    padding: 14px 18px !important;
    color: var(--aam-panel-text, #ffffff) !important;
    font-family: var(--aam-menu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-menu-font-size, 14px) !important;
    line-height: 1.25 !important;
    font-weight: var(--aam-menu-font-weight, 600) !important;
    text-transform: none;
    background: transparent !important;
    transition: background .25s ease, color .25s ease, padding-left .25s ease;
}

.aam-panel .nav > li > a:hover,
.aam-panel li > a:hover,
.aam-panel .dropdown-item:hover,
.aam-zone-link:hover {
    background: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    padding-left: 24px !important;
}

.aam-panel .dropdown-menu,
.aam-panel .submenu,
.aam-panel .level1,
.aam-panel .level2 {
    padding-left: 12px !important;
    background: rgba(0,0,0,.08) !important;
}

.aam-panel .caret,
.aam-panel .fa-angle-down,
.aam-panel .fa-angle-right {
    color: var(--aam-accent, #87001f) !important;
}

.aam-zone {
    margin: 18px 18px 0;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
}

.aam-zone-title {
    margin-bottom: 10px;
    color: var(--aam-accent, #87001f);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 700;
}

.aam-zone .aam-zone-link {
    border-radius: 8px;
    padding: 10px 12px !important;
    border-bottom: 0 !important;
}

body.aam-menu-open {
    overflow: hidden;
}


/* Version 1.8 — responsive adjustment by monitor size
   O que faz:
   - Usa clamp() para adaptar automaticamente o botão e a largura do painel.
   - Em tablet/portátil o menu fica mais compacto.
   - Em monitores grandes aumenta até ao limite configurado no módulo.
   - Não interfere com o menu original Leo, porque só usa classes próprias .aam-*.
*/
@media (min-width: 768px) and (max-width: 1199px) {
    .aam-panel-top {
        padding: 18px 18px 14px;
        gap: 8px;
    }

    .aam-title {
        font-size: clamp(15px, 1.55vw, 17px);
    }

    .aam-subtitle {
        font-size: clamp(11px, 1.2vw, 12px);
    }

    .aam-panel .nav > li > a,
    .aam-panel li > a,
    .aam-panel .dropdown-item,
    .aam-zone-link,
    .aam-menu-item > a {
        padding: 12px 16px !important;
        font-size: 13px !important;
    }

    .aam-zone-slot {
        margin-left: 14px;
        margin-right: 14px;
    }
}

@media (min-width: 1200px) and (max-width: 1599px) {
    .aam-panel-top {
        padding: 22px 22px 18px;
    }

    .aam-title {
        font-size: clamp(17px, 1.2vw, 19px);
    }
}

@media (min-width: 1600px) {
    .aam-panel-top {
        padding: 26px 26px 20px;
    }

    .aam-panel .nav > li > a,
    .aam-panel li > a,
    .aam-panel .dropdown-item,
    .aam-zone-link,
    .aam-menu-item > a {
        padding: 15px 22px !important;
        font-size: 15px !important;
    }

    .aam-zone-slot {
        margin-left: 22px;
        margin-right: 22px;
    }
}

/* Version 1.2 — Selected Leo group output */
.aam-leo-group-title {
    margin: 14px 18px 8px;
    color: var(--aam-accent, #d9a441);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    font-weight: 700;
}

.aam-menu-list,
.aam-submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aam-menu-item {
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.aam-menu-item > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100% !important;
    padding: 14px 18px !important;
    color: var(--aam-panel-text, #ffffff) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: background .25s ease, color .25s ease, padding-left .25s ease;
}

.aam-menu-item > a:hover {
    background: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    padding-left: 24px !important;
}

.aam-arrow {
    color: var(--aam-accent, #d9a441);
    font-size: 18px;
    line-height: 1;
    transition: transform .25s ease;
}

.aam-menu-item.is-subopen > a .aam-arrow {
    transform: rotate(90deg);
}

.aam-submenu {
    display: none;
    background: rgba(0,0,0,.13);
}

.aam-menu-item.is-subopen > .aam-submenu {
    display: block;
}

.aam-submenu .aam-menu-item > a {
    padding-left: 30px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--aam-panel-muted, #d8d8d8) !important;
}

.aam-submenu .aam-submenu .aam-menu-item > a {
    padding-left: 42px !important;
}

/* Hide old Leo/ApRawHtml trigger when the module option is active.
   This avoids two menu icons in the header. */
@media (min-width: 768px) {
    body.aam-hide-old-leo-trigger #header .showmenu,
    body.aam-hide-old-leo-trigger .bottom .showmenu,
    body.aam-hide-old-leo-trigger .ApRawHtml .showmenu,
    body.aam-hide-old-leo-trigger .bg-over-lay:not(.aam-overlay) {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Keep our new button visible, but NEVER force the overlay to capture clicks
       while the menu is closed. In v1.2 the overlay was forced to pointer-events:auto,
       which could sit invisibly above the button and make the icon look broken. */
    body.aam-hide-old-leo-trigger .aam-root .aam-trigger {
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.aam-hide-old-leo-trigger .aam-root:not(.is-open) .aam-overlay {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.aam-hide-old-leo-trigger .aam-root.is-open .aam-overlay {
        pointer-events: auto !important;
    }
}

/* Version 1.4 — Positioned HTML zones
   Zones can be placed after the header/logo area, before the Leo menu,
   after the Leo menu or at the bottom of the side panel. */
.aam-zone-position {
    width: 100%;
}

.aam-zone-slot {
    width: auto;
    margin: 18px 18px 0;
}

.aam-zone-after-header .aam-zone-slot:first-child {
    margin-top: 14px;
}

.aam-zone-before-menu {
    border-bottom: 1px solid rgba(255,255,255,.06);
    padding-bottom: 14px;
}

.aam-zone-after-menu {
    border-top: 1px solid rgba(255,255,255,.06);
    padding-top: 4px;
}

.aam-zone-bottom {
    margin-top: auto;
    padding-bottom: 20px;
}

.aam-zone-slot .aam-zone {
    margin: 0;
}

.aam-zone-slot img {
    max-width: 100%;
    height: auto;
}


/* Version 1.8.3 — desktop/tablet submenus as lateral flyouts
   PC/Tablet: first submenu level opens to the RIGHT of the side panel.
   Mobile: keeps the compact vertical accordion behaviour for usability.
   Flyouts are moved temporarily to <body> by front.js so they are not clipped
   by the scrolling side panel. */
@media (min-width: 768px) {
    /* Prevent Leo dropdowns from being permanently expanded downwards. */
    .aam-root.aam-device-desktop .aam-panel li > .dropdown-menu,
    .aam-root.aam-device-desktop .aam-panel li > .dropdown-sub,
    .aam-root.aam-device-desktop .aam-panel li > .dropdown-mega,
    .aam-root.aam-device-desktop .aam-panel li > .submenu,
    .aam-root.aam-device-desktop .aam-panel li > .level1,
    .aam-root.aam-device-desktop .aam-panel li > .level2,
    .aam-root.aam-device-desktop .aam-panel li > .aam-submenu {
        display: none !important;
    }

    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a {
        position: relative;
        padding-right: 42px !important;
    }

    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a::after {
        content: '›';
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--aam-accent, #d9a441);
        font-size: 20px;
        line-height: 1;
        font-weight: 400;
        transition: transform .2s ease, color .2s ease;
        pointer-events: none;
    }

    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner.aam-flyout-active > a::after {
        transform: translateY(-50%) translateX(3px);
        color: var(--aam-panel-text, #ffffff);
    }
}

/* The top-level flyout is portalled to body, therefore these rules are global. */
.aam-flyout-submenu {
    position: fixed !important;
    display: none !important;
    float: none !important;
    width: clamp(250px, 18vw, 320px) !important;
    min-width: 240px !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: var(--aam-panel-bg, #2f2f2f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.32) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-8px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    z-index: 100005 !important;
    overflow: visible !important;
    font-family: Arial, Helvetica, sans-serif !important;
    list-style: none !important;
}

.aam-flyout-submenu.aam-flyout-open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
}

.aam-flyout-submenu ul,
.aam-flyout-submenu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aam-flyout-submenu li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.aam-flyout-submenu li:last-child {
    border-bottom: 0 !important;
}

.aam-flyout-submenu a,
.aam-flyout-submenu .dropdown-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 18px !important;
    color: var(--aam-panel-text, #ffffff) !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    white-space: normal !important;
    transition: background .2s ease, color .2s ease, padding-left .2s ease !important;
}

.aam-flyout-submenu a:hover,
.aam-flyout-submenu .dropdown-item:hover {
    background: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    padding-left: 23px !important;
}

/* Further submenu levels continue to fly out laterally. */
.aam-flyout-submenu li > .aam-submenu,
.aam-flyout-submenu li > .dropdown-menu,
.aam-flyout-submenu li > .dropdown-sub,
.aam-flyout-submenu li > .dropdown-mega,
.aam-flyout-submenu li > .submenu,
.aam-flyout-submenu li > .level1,
.aam-flyout-submenu li > .level2 {
    position: absolute !important;
    display: none !important;
    top: -8px !important;
    left: calc(100% + var(--aam-submenu-gap, 0px)) !important;
    width: clamp(240px, 17vw, 310px) !important;
    min-width: 230px !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: var(--aam-panel-bg, #2f2f2f) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.30) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-6px) !important;
    z-index: 100006 !important;
}

.aam-flyout-submenu li:hover > .aam-submenu,
.aam-flyout-submenu li:hover > .dropdown-menu,
.aam-flyout-submenu li:hover > .dropdown-sub,
.aam-flyout-submenu li:hover > .dropdown-mega,
.aam-flyout-submenu li:hover > .submenu,
.aam-flyout-submenu li:hover > .level1,
.aam-flyout-submenu li:hover > .level2,
.aam-flyout-submenu li.is-subopen > .aam-submenu,
.aam-flyout-submenu li.is-subopen > .dropdown-menu,
.aam-flyout-submenu li.is-subopen > .dropdown-sub,
.aam-flyout-submenu li.is-subopen > .dropdown-mega,
.aam-flyout-submenu li.is-subopen > .submenu,
.aam-flyout-submenu li.is-subopen > .level1,
.aam-flyout-submenu li.is-subopen > .level2 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
}

/* On the dedicated mobile profile keep submenus vertical; sideways flyouts are
   deliberately disabled because they would not fit reliably on small screens. */
@media (max-width: 767px) {
    .aam-root.aam-device-mobile .aam-menu-item.is-subopen > .aam-submenu {
        display: block !important;
        position: static !important;
    }
}


/* 1.8.3 — avoid duplicate arrows and reset legacy indentation inside lateral flyouts. */
@media (min-width: 768px) {
    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a > .aam-arrow,
    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a > .caret,
    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a > .fa-angle-down,
    .aam-root.aam-device-desktop .aam-panel li.aam-flyout-owner > a > .fa-angle-right {
        display: none !important;
    }
}

.aam-flyout-submenu.aam-submenu .aam-menu-item > a,
.aam-flyout-submenu .aam-submenu .aam-menu-item > a,
.aam-flyout-submenu .aam-menu-item > a {
    padding: 12px 18px !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
    color: var(--aam-panel-text, #ffffff) !important;
}

.aam-flyout-submenu.aam-submenu .aam-menu-item > a:hover,
.aam-flyout-submenu .aam-submenu .aam-menu-item > a:hover,
.aam-flyout-submenu .aam-menu-item > a:hover {
    padding-left: 23px !important;
}

/* Version 1.8.5 — Leo Live Edit mega-submenus.
   The submenu HTML is generated by Leo itself from params_widget. The first
   mega panel is portalled to body by front.js so it cannot be clipped by the
   scrolling side panel. */
.aam-flyout-submenu.aam-flyout-mega {
    width: clamp(620px, 58vw, 980px) !important;
    min-width: min(620px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 20px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 22px 24px !important;
    background: var(--aam-panel-bg, #2f2f2f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    border: 1px solid rgba(92, 13, 34, .12) !important;
    border-radius: 14px !important;
    box-shadow: 0 22px 55px rgba(35, 10, 18, .22) !important;
}

.aam-flyout-submenu.aam-flyout-mega .dropdown-menu-inner,
.aam-flyout-submenu.aam-flyout-mega .mega-col,
.aam-flyout-submenu.aam-flyout-mega .mega-col-inner,
.aam-flyout-submenu.aam-flyout-mega .row,
.aam-flyout-submenu.aam-flyout-mega [class*="col-"] {
    visibility: visible !important;
    opacity: 1 !important;
}

.aam-flyout-submenu.aam-flyout-mega .row {
    display: flex !important;
    flex-wrap: wrap !important;
    width: auto !important;
}

.aam-flyout-submenu.aam-flyout-mega .mega-col {
    float: none !important;
    min-width: 0 !important;
}

.aam-flyout-submenu.aam-flyout-mega li {
    width: auto !important;
    border-bottom: 0 !important;
}

.aam-flyout-submenu.aam-flyout-mega a,
.aam-flyout-submenu.aam-flyout-mega .dropdown-item {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 5px 0 !important;
    color: var(--aam-panel-text, #ffffff) !important;
    background: transparent !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    line-height: 1.35 !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
    white-space: normal !important;
}

.aam-flyout-submenu.aam-flyout-mega a:hover,
.aam-flyout-submenu.aam-flyout-mega .dropdown-item:hover {
    padding-left: 0 !important;
    color: var(--aam-hover-bg, #87001f) !important;
    background: transparent !important;
}

.aam-flyout-submenu.aam-flyout-mega h1,
.aam-flyout-submenu.aam-flyout-mega h2,
.aam-flyout-submenu.aam-flyout-mega h3,
.aam-flyout-submenu.aam-flyout-mega h4,
.aam-flyout-submenu.aam-flyout-mega h5,
.aam-flyout-submenu.aam-flyout-mega h6,
.aam-flyout-submenu.aam-flyout-mega .menu-title,
.aam-flyout-submenu.aam-flyout-mega .widget-heading,
.aam-flyout-submenu.aam-flyout-mega .title_block {
    color: var(--aam-panel-text, #ffffff) !important;
}

.aam-flyout-submenu.aam-flyout-mega img {
    max-width: 100% !important;
    height: auto !important;
}

/* Structural dropdowns produced inside a Live Edit mega panel are layout
   containers, not a second top-level flyout. Keep them in normal flow. */
.aam-flyout-submenu.aam-flyout-mega .dropdown-menu-inner > .row > [class*="col-"] > .dropdown-menu,
.aam-flyout-submenu.aam-flyout-mega .mega-col > .dropdown-menu,
.aam-flyout-submenu.aam-flyout-mega .mega-col > .dropdown-sub,
.aam-flyout-submenu.aam-flyout-mega .mega-col > .dropdown-mega {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .aam-flyout-submenu.aam-flyout-mega {
        width: min(700px, calc(100vw - 24px)) !important;
        min-width: min(560px, calc(100vw - 24px)) !important;
        padding: 18px !important;
    }
}


/* Version 1.8.6 — synchronize ALL Leo/Live Edit colors with the module settings.
   Important: Leo's own theme CSS can put white backgrounds and dark text on
   menu rows. These rules deliberately win inside the Advanced Side Menu only. */

/* Main side-panel menu: normal rows inherit the configured panel colours. */
.aam-panel .aam-leo-output,
.aam-panel .aam-leo-output .navbar,
.aam-panel .aam-leo-output .navbar-collapse,
.aam-panel .aam-leo-output .navbar-nav,
.aam-panel .aam-leo-output .leo-megamenu,
.aam-panel .aam-leo-output .megamenu,
.aam-panel .aam-leo-output .nav,
.aam-panel .aam-leo-output ul,
.aam-panel .aam-leo-output li,
.aam-panel .aam-leo-output .menu-content,
.aam-panel .aam-leo-output .menu-item,
.aam-panel .aam-leo-output .dropdown,
.aam-panel .aam-leo-output .dropdown-submenu {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--aam-panel-text, #ffffff) !important;
}

/* Force every top-level row to use the panel background instead of Leo white. */
.aam-panel .aam-leo-output .nav > li,
.aam-panel .aam-leo-output .navbar-nav > li,
.aam-panel .aam-leo-output .megamenu > li,
.aam-panel .aam-leo-output .leo-megamenu > li {
    background: var(--aam-panel-bg, #2f2f2f) !important;
    background-color: var(--aam-panel-bg, #2f2f2f) !important;
}

.aam-panel .aam-leo-output .nav > li > a,
.aam-panel .aam-leo-output .navbar-nav > li > a,
.aam-panel .aam-leo-output .megamenu > li > a,
.aam-panel .aam-leo-output .leo-megamenu > li > a,
.aam-panel .aam-leo-output li > a,
.aam-panel .aam-leo-output a.dropdown-toggle {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--aam-panel-text, #ffffff) !important;
    border-color: rgba(255,255,255,.07) !important;
}

/* Active/current/open items use the configured hover colour as the highlight. */
.aam-panel .aam-leo-output li:hover,
.aam-panel .aam-leo-output li.active,
.aam-panel .aam-leo-output li.current,
.aam-panel .aam-leo-output li.open,
.aam-panel .aam-leo-output li.show,
.aam-panel .aam-leo-output li.menu-active,
.aam-panel .aam-leo-output li.active-menu {
    background: var(--aam-hover-bg, #87001f) !important;
    background-color: var(--aam-hover-bg, #87001f) !important;
}

.aam-panel .aam-leo-output li:hover > a,
.aam-panel .aam-leo-output li.active > a,
.aam-panel .aam-leo-output li.current > a,
.aam-panel .aam-leo-output li.open > a,
.aam-panel .aam-leo-output li.show > a,
.aam-panel .aam-leo-output li.menu-active > a,
.aam-panel .aam-leo-output li.active-menu > a {
    background: var(--aam-hover-bg, #87001f) !important;
    background-color: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
}

/* Preserve secondary text colour where Leo renders descriptions/subtitles. */
.aam-panel .aam-leo-output small,
.aam-panel .aam-leo-output .menu-desc,
.aam-panel .aam-leo-output .description,
.aam-panel .aam-leo-output .subtitle,
.aam-panel .aam-leo-output .menu-subtitle {
    color: var(--aam-panel-muted, #d8d8d8) !important;
}

/* Carets/arrows follow the configured accent colour. */
.aam-panel .aam-leo-output .caret,
.aam-panel .aam-leo-output .menu-icon,
.aam-panel .aam-leo-output .fa-angle-down,
.aam-panel .aam-leo-output .fa-angle-right,
.aam-panel .aam-leo-output .fa-chevron-down,
.aam-panel .aam-leo-output .fa-chevron-right {
    color: var(--aam-accent, #d9a441) !important;
    border-top-color: var(--aam-accent, #d9a441) !important;
}

/* The Live Edit mega panel is moved to <body>. front.js copies the same CSS
   variables to it, so it can use the exact colours configured in Back Office. */
.aam-flyout-submenu.aam-flyout-mega {
    background: var(--aam-panel-bg, #2f2f2f) !important;
    background-color: var(--aam-panel-bg, #2f2f2f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
    border-color: color-mix(in srgb, var(--aam-panel-text, #ffffff) 12%, transparent) !important;
}

.aam-flyout-submenu.aam-flyout-mega,
.aam-flyout-submenu.aam-flyout-mega .dropdown-menu-inner,
.aam-flyout-submenu.aam-flyout-mega .row,
.aam-flyout-submenu.aam-flyout-mega .mega-col,
.aam-flyout-submenu.aam-flyout-mega .mega-col-inner,
.aam-flyout-submenu.aam-flyout-mega [class*="col-"],
.aam-flyout-submenu.aam-flyout-mega ul,
.aam-flyout-submenu.aam-flyout-mega li,
.aam-flyout-submenu.aam-flyout-mega .widget,
.aam-flyout-submenu.aam-flyout-mega [class*="widget"] {
    color: var(--aam-panel-text, #ffffff) !important;
}

/* Do not let the Leo theme re-introduce white cards behind rows/columns. */
.aam-flyout-submenu.aam-flyout-mega .dropdown-menu,
.aam-flyout-submenu.aam-flyout-mega .dropdown-sub,
.aam-flyout-submenu.aam-flyout-mega .dropdown-mega,
.aam-flyout-submenu.aam-flyout-mega .dropdown-menu-inner,
.aam-flyout-submenu.aam-flyout-mega .mega-col,
.aam-flyout-submenu.aam-flyout-mega .mega-col-inner,
.aam-flyout-submenu.aam-flyout-mega .row,
.aam-flyout-submenu.aam-flyout-mega [class*="col-"] {
    background: transparent !important;
    background-color: transparent !important;
}

.aam-flyout-submenu.aam-flyout-mega a,
.aam-flyout-submenu.aam-flyout-mega .dropdown-item,
.aam-flyout-submenu.aam-flyout-mega p,
.aam-flyout-submenu.aam-flyout-mega span,
.aam-flyout-submenu.aam-flyout-mega li {
    color: var(--aam-panel-text, #ffffff) !important;
}

.aam-flyout-submenu.aam-flyout-mega h1,
.aam-flyout-submenu.aam-flyout-mega h2,
.aam-flyout-submenu.aam-flyout-mega h3,
.aam-flyout-submenu.aam-flyout-mega h4,
.aam-flyout-submenu.aam-flyout-mega h5,
.aam-flyout-submenu.aam-flyout-mega h6,
.aam-flyout-submenu.aam-flyout-mega .menu-title,
.aam-flyout-submenu.aam-flyout-mega .widget-heading,
.aam-flyout-submenu.aam-flyout-mega .title_block {
    color: var(--aam-panel-text, #ffffff) !important;
}

.aam-flyout-submenu.aam-flyout-mega small,
.aam-flyout-submenu.aam-flyout-mega .menu-desc,
.aam-flyout-submenu.aam-flyout-mega .description,
.aam-flyout-submenu.aam-flyout-mega .subtitle,
.aam-flyout-submenu.aam-flyout-mega .menu-subtitle {
    color: var(--aam-panel-muted, #d8d8d8) !important;
}

.aam-flyout-submenu.aam-flyout-mega a:hover,
.aam-flyout-submenu.aam-flyout-mega .dropdown-item:hover {
    color: var(--aam-accent, #d9a441) !important;
    background: transparent !important;
}

/* Use module colour for nested row hover/active states inside a normal flyout. */
.aam-flyout-submenu:not(.aam-flyout-mega) li:hover,
.aam-flyout-submenu:not(.aam-flyout-mega) li.active,
.aam-flyout-submenu:not(.aam-flyout-mega) li.current,
.aam-flyout-submenu:not(.aam-flyout-mega) li.open,
.aam-flyout-submenu:not(.aam-flyout-mega) li.show {
    background: var(--aam-hover-bg, #87001f) !important;
    background-color: var(--aam-hover-bg, #87001f) !important;
}


/* Version 1.8.7 — definitive colour + typography control.
   Leo Live Edit can put colours/font rules on inner spans/strong elements,
   sometimes inline. These selectors cover the actual text nodes as well as
   their anchors, while JavaScript below additionally neutralises inline
   !important colours when necessary. */

.aam-panel,
.aam-panel .aam-leo-output,
.aam-panel .aam-leo-output .navbar,
.aam-panel .aam-leo-output .navbar-collapse,
.aam-panel .aam-leo-output .navbar-nav,
.aam-panel .aam-leo-output .leo-megamenu,
.aam-panel .aam-leo-output .megamenu {
    background-color: var(--aam-panel-bg, #2f2f2f) !important;
    color: var(--aam-panel-text, #ffffff) !important;
}

/* Main Leo text, including wrappers used by Live Edit. */
.aam-panel .aam-leo-output > *,
.aam-panel .aam-leo-output .nav > li > a,
.aam-panel .aam-leo-output .navbar-nav > li > a,
.aam-panel .aam-leo-output .megamenu > li > a,
.aam-panel .aam-leo-output .leo-megamenu > li > a,
.aam-panel .aam-leo-output .nav > li > a *,
.aam-panel .aam-leo-output .navbar-nav > li > a *,
.aam-panel .aam-leo-output .megamenu > li > a *,
.aam-panel .aam-leo-output .leo-megamenu > li > a *,
.aam-panel .aam-leo-output .menu-title,
.aam-panel .aam-leo-output .title_block,
.aam-panel .aam-leo-output h1,
.aam-panel .aam-leo-output h2,
.aam-panel .aam-leo-output h3,
.aam-panel .aam-leo-output h4,
.aam-panel .aam-leo-output h5,
.aam-panel .aam-leo-output h6 {
    color: var(--aam-panel-text, #ffffff) !important;
    font-family: var(--aam-menu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-menu-font-size, 14px) !important;
    font-weight: var(--aam-menu-font-weight, 600) !important;
}

/* First-level rows: leave background on the row so hover can still win. */
.aam-panel .aam-leo-output .nav > li,
.aam-panel .aam-leo-output .navbar-nav > li,
.aam-panel .aam-leo-output .megamenu > li,
.aam-panel .aam-leo-output .leo-megamenu > li {
    background-color: var(--aam-panel-bg, #2f2f2f) !important;
}

/* Secondary/descriptive text. */
.aam-panel .aam-leo-output small,
.aam-panel .aam-leo-output .menu-desc,
.aam-panel .aam-leo-output .description,
.aam-panel .aam-leo-output .subtitle,
.aam-panel .aam-leo-output .menu-subtitle,
.aam-panel .aam-leo-output .menu-desc *,
.aam-panel .aam-leo-output .description *,
.aam-panel .aam-leo-output .subtitle *,
.aam-panel .aam-leo-output .menu-subtitle * {
    color: var(--aam-panel-muted, #d8d8d8) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
}

/* Nested submenus rendered inside the panel. */
.aam-panel .aam-leo-output .dropdown-menu a,
.aam-panel .aam-leo-output .dropdown-sub a,
.aam-panel .aam-leo-output .dropdown-mega a,
.aam-panel .aam-leo-output .submenu a,
.aam-panel .aam-leo-output .level1 a,
.aam-panel .aam-leo-output .level2 a,
.aam-panel .aam-leo-output .dropdown-menu a *,
.aam-panel .aam-leo-output .dropdown-sub a *,
.aam-panel .aam-leo-output .dropdown-mega a *,
.aam-panel .aam-leo-output .submenu a *,
.aam-panel .aam-leo-output .level1 a *,
.aam-panel .aam-leo-output .level2 a * {
    color: var(--aam-panel-text, #ffffff) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
}

/* Live Edit flyout, after it is portalled to body. */
.aam-flyout-submenu,
.aam-flyout-submenu * {
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
}
.aam-flyout-submenu a,
.aam-flyout-submenu a *,
.aam-flyout-submenu p,
.aam-flyout-submenu p *,
.aam-flyout-submenu span,
.aam-flyout-submenu strong,
.aam-flyout-submenu b,
.aam-flyout-submenu li,
.aam-flyout-submenu h1,
.aam-flyout-submenu h2,
.aam-flyout-submenu h3,
.aam-flyout-submenu h4,
.aam-flyout-submenu h5,
.aam-flyout-submenu h6 {
    color: var(--aam-panel-text, #ffffff) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
}
.aam-flyout-submenu .menu-desc,
.aam-flyout-submenu .description,
.aam-flyout-submenu .subtitle,
.aam-flyout-submenu .menu-subtitle,
.aam-flyout-submenu small {
    color: var(--aam-panel-muted, #d8d8d8) !important;
}

/* Custom HTML zones — all textual descendants obey their own typography. */
.aam-zone-position,
.aam-zone-position p,
.aam-zone-position span,
.aam-zone-position a,
.aam-zone-position li,
.aam-zone-position strong,
.aam-zone-position b,
.aam-zone-position h1,
.aam-zone-position h2,
.aam-zone-position h3,
.aam-zone-position h4,
.aam-zone-position h5,
.aam-zone-position h6,
.aam-zone-link {
    font-family: var(--aam-zone-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-zone-font-size, 13px) !important;
    font-weight: var(--aam-zone-font-weight, 500) !important;
    color: var(--aam-panel-text, #ffffff) !important;
}
.aam-zone-title {
    font-family: var(--aam-zone-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-zone-font-size, 13px) !important;
    font-weight: var(--aam-zone-font-weight, 500) !important;
    color: var(--aam-accent, #d9a441) !important;
}


/* Version 1.8.8 — final menu polish.
   - Removes the unwanted line after the last Leo item.
   - Resets borders that the Leo theme can add to wrappers.
   - Uses the configurable submenu gap for all lateral levels.
   - Typography remains fully driven by the module variables. */
.aam-panel .aam-leo-output,
.aam-panel .aam-leo-output .navbar,
.aam-panel .aam-leo-output .navbar-collapse,
.aam-panel .aam-leo-output .nav,
.aam-panel .aam-leo-output .navbar-nav,
.aam-panel .aam-leo-output .leo-megamenu,
.aam-panel .aam-leo-output .megamenu {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Keep subtle separators between entries, but never draw a final white line. */
.aam-panel .aam-leo-output .nav > li:last-child,
.aam-panel .aam-leo-output .navbar-nav > li:last-child,
.aam-panel .aam-leo-output .leo-megamenu > li:last-child,
.aam-panel .aam-leo-output .megamenu > li:last-child,
.aam-panel .aam-leo-output > ul > li:last-child,
.aam-panel .aam-leo-output > div > ul > li:last-child,
.aam-panel .aam-leo-output li:last-child {
    border-bottom: 0 !important;
}

/* Do not introduce a second separator immediately after the Leo menu. */
.aam-zone-after-menu {
    border-top: 0 !important;
}

/* All text inside the main menu follows Main menu typography, including Leo spans/strong wrappers. */
.aam-panel .aam-leo-output .nav > li > a,
.aam-panel .aam-leo-output .navbar-nav > li > a,
.aam-panel .aam-leo-output .leo-megamenu > li > a,
.aam-panel .aam-leo-output .megamenu > li > a,
.aam-panel .aam-leo-output .nav > li > a *,
.aam-panel .aam-leo-output .navbar-nav > li > a *,
.aam-panel .aam-leo-output .leo-megamenu > li > a *,
.aam-panel .aam-leo-output .megamenu > li > a * {
    font-family: var(--aam-menu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-menu-font-size, 14px) !important;
    font-weight: var(--aam-menu-font-weight, 600) !important;
}

/* Every textual descendant of lateral submenus follows the submenu typography. */
.aam-flyout-submenu,
.aam-flyout-submenu a,
.aam-flyout-submenu a *,
.aam-flyout-submenu p,
.aam-flyout-submenu p *,
.aam-flyout-submenu span,
.aam-flyout-submenu strong,
.aam-flyout-submenu b,
.aam-flyout-submenu em,
.aam-flyout-submenu li,
.aam-flyout-submenu h1,
.aam-flyout-submenu h2,
.aam-flyout-submenu h3,
.aam-flyout-submenu h4,
.aam-flyout-submenu h5,
.aam-flyout-submenu h6,
.aam-flyout-submenu .menu-title,
.aam-flyout-submenu .widget-heading,
.aam-flyout-submenu .title_block {
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
}

/* Leo/group headings are text too: they obey the Main menu typography. */
.aam-leo-group-title,
.aam-panel .aam-leo-output .block-title,
.aam-panel .aam-leo-output .title_block,
.aam-panel .aam-leo-output .widget-heading {
    font-family: var(--aam-menu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-menu-font-size, 14px) !important;
    font-weight: var(--aam-menu-font-weight, 600) !important;
}

/* Version 1.8.9 — remove every decorative line around/inside the MAIN side menu.
   Leo/Bootstrap and older module rules can add borders to nav wrappers, rows and
   links. The menu should read as one continuous surface; hover remains the only
   row highlight. This block intentionally does NOT target the lateral flyout. */
.aam-panel-top {
    border-bottom: 0 !important;
}

.aam-panel .aam-panel-body,
.aam-panel .aam-leo-output,
.aam-panel .aam-leo-output > *,
.aam-panel .aam-leo-output .navbar,
.aam-panel .aam-leo-output .navbar-collapse,
.aam-panel .aam-leo-output .navbar-nav,
.aam-panel .aam-leo-output .nav,
.aam-panel .aam-leo-output .leo-megamenu,
.aam-panel .aam-leo-output .leo-verticalmenu,
.aam-panel .aam-leo-output .megamenu,
.aam-panel .aam-leo-output .menu-content,
.aam-panel .aam-leo-output .menu-item,
.aam-panel .aam-leo-output ul,
.aam-panel .aam-leo-output li,
.aam-panel .aam-leo-output li > a,
.aam-panel .aam-leo-output a.dropdown-toggle,
.aam-panel .aam-leo-output .dropdown-item,
.aam-panel .aam-menu-list,
.aam-panel .aam-menu-item,
.aam-panel .aam-menu-item > a,
.aam-panel .aam-leo-group-title {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* The custom-zone separators can touch the menu and look like an outer border. */
.aam-panel .aam-zone-before-menu,
.aam-panel .aam-zone-after-menu {
    border-top: 0 !important;
    border-bottom: 0 !important;
}


/* ================================================================
   Version 1.9.0 — definitive Leo vertical shell reset + configurable UI
   The Vogaza/Leo theme applies a 1px #ebebeb border to
   .leo-verticalmenu .box-content. That is the white rectangle visible around
   the imported menu. Reset the exact Leo shell, not only the <li>/<a> nodes.
   ================================================================ */
.aam-panel .aam-leo-output .leo-verticalmenu,
.aam-panel .aam-leo-output .leo-verticalmenu > .box-content,
.aam-panel .aam-leo-output .leo-verticalmenu .box-content,
.aam-panel .aam-leo-output .leo-verticalmenu .block_content,
.aam-panel .aam-leo-output .box-content,
.aam-panel .aam-leo-output .block_content,
.aam-panel .aam-leo-output .verticalmenu,
.aam-panel .aam-leo-output div.verticalmenu,
.aam-panel .aam-leo-output .leo-top-menu,
.aam-panel .aam-leo-output .megamenu-off-canvas,
.aam-panel .aam-leo-output .cavas_menu,
.aam-panel .aam-leo-output .navbar-default,
.aam-panel .aam-leo-output [role="navigation"] {
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* The main menu uses only separators created by this module. Leo's own borders
   remain permanently disabled. */
.aam-panel .aam-leo-output .aam-main-item,
.aam-panel .aam-leo-output .aam-main-item > a {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.aam-panel .aam-leo-output .aam-main-item {
    position: relative !important;
}
.aam-root.aam-separators-on .aam-panel .aam-leo-output .aam-main-item:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: var(--aam-separator-inset, 0px);
    right: var(--aam-separator-inset, 0px);
    bottom: 0;
    height: var(--aam-separator-thickness, 1px);
    background: var(--aam-separator-color, #4b4b4b);
    pointer-events: none;
}
.aam-root.aam-separators-on.aam-separator-gradient .aam-panel .aam-leo-output .aam-main-item:not(:last-child)::after {
    background: linear-gradient(90deg, var(--aam-separator-color, #4b4b4b) 0%, var(--aam-separator-color-2, #d9a441) 50%, var(--aam-separator-color, #4b4b4b) 100%);
}
.aam-root.aam-separators-off .aam-panel .aam-leo-output .aam-main-item::after { display:none !important; }

/* Main item spacing/hover */
.aam-panel .aam-leo-output .aam-main-item > a {
    padding: var(--aam-menu-item-padding-y, 14px) var(--aam-menu-item-padding-x, 18px) !important;
}
.aam-panel .aam-leo-output .aam-main-item > a:hover,
.aam-panel .aam-leo-output .aam-main-item.aam-flyout-active > a {
    background: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-menu-hover-text, #ffffff) !important;
    padding-left: calc(var(--aam-menu-item-padding-x, 18px) + 6px) !important;
}
.aam-panel .aam-leo-output .aam-main-item > a:hover *,
.aam-panel .aam-leo-output .aam-main-item.aam-flyout-active > a * {
    color: var(--aam-menu-hover-text, #ffffff) !important;
}

/* Submenu appearance */
.aam-flyout-submenu {
    background: var(--aam-submenu-bg, #2f2f2f) !important;
    color: var(--aam-submenu-text, #ffffff) !important;
    border: 0 !important;
    border-radius: var(--aam-submenu-radius, 14px) !important;
    box-shadow: var(--aam-submenu-shadow, 0 18px 44px rgba(0,0,0,.30)) !important;
    transition-duration: var(--aam-submenu-animation-ms, 180ms) !important;
}
.aam-flyout-submenu a,
.aam-flyout-submenu .dropdown-item,
.aam-flyout-submenu a *,
.aam-flyout-submenu .dropdown-item * {
    color: var(--aam-submenu-text, #ffffff) !important;
}
.aam-flyout-submenu:not(.aam-flyout-mega) a,
.aam-flyout-submenu:not(.aam-flyout-mega) .dropdown-item {
    padding: var(--aam-submenu-item-padding-y, 12px) var(--aam-submenu-item-padding-x, 18px) !important;
}
.aam-flyout-submenu a:hover,
.aam-flyout-submenu .dropdown-item:hover {
    background: var(--aam-submenu-hover-bg, #87001f) !important;
    color: var(--aam-submenu-hover-text, #ffffff) !important;
}
.aam-flyout-submenu a:hover *,
.aam-flyout-submenu .dropdown-item:hover * {
    color: var(--aam-submenu-hover-text, #ffffff) !important;
}
.aam-flyout-submenu.aam-flyout-mega a:hover,
.aam-flyout-submenu.aam-flyout-mega .dropdown-item:hover {
    color: var(--aam-submenu-hover-text, #ffffff) !important;
    background: var(--aam-submenu-hover-bg, #87001f) !important;
    border-radius: 5px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

/* First-level submenu animations. The submenu is portalled to <body>, so the
   animation mode is copied to data-aam-animation by front.js. */
.aam-flyout-submenu[data-aam-animation="fade"] { transform: none !important; }
.aam-flyout-submenu[data-aam-animation="slide_right"] { transform: translateX(-12px) !important; }
.aam-flyout-submenu[data-aam-animation="slide_up"] { transform: translateY(10px) !important; }
.aam-flyout-submenu[data-aam-animation="zoom"] { transform: scale(.965) !important; transform-origin: left top !important; }
.aam-flyout-submenu[data-aam-animation="none"] { transform: none !important; transition: none !important; }
.aam-flyout-submenu.aam-flyout-open { transform: none !important; }

/* Nested flyouts use the same visual settings. */
.aam-flyout-submenu li > .aam-submenu,
.aam-flyout-submenu li > .dropdown-menu,
.aam-flyout-submenu li > .dropdown-sub,
.aam-flyout-submenu li > .dropdown-mega,
.aam-flyout-submenu li > .submenu,
.aam-flyout-submenu li > .level1,
.aam-flyout-submenu li > .level2 {
    background: var(--aam-submenu-bg, #2f2f2f) !important;
    border: 0 !important;
    border-radius: var(--aam-submenu-radius, 14px) !important;
    box-shadow: var(--aam-submenu-shadow, 0 18px 44px rgba(0,0,0,.30)) !important;
    transition: opacity var(--aam-submenu-animation-ms, 180ms) ease, transform var(--aam-submenu-animation-ms, 180ms) ease, visibility var(--aam-submenu-animation-ms, 180ms) ease !important;
}

/* =========================================================
   v1.9.2 — DYNAMIC PANEL LAYOUT
   The administrator can reorder/add areas from the structure builder.
   ========================================================= */
.aam-panel > .aam-close {
    z-index: 30;
}
.aam-layout-stack {
    padding: 0 0 26px !important;
}
.aam-layout-block {
    width: 100%;
    box-sizing: border-box;
}
.aam-layout-identity .aam-panel-top {
    width: 100%;
    box-sizing: border-box;
}
.aam-layout-megamenu {
    width: 100%;
}
.aam-dynamic-text,
.aam-dynamic-html,
.aam-dynamic-image,
.aam-dynamic-button {
    box-sizing: border-box;
    color: var(--aam-panel-text, #ffffff);
    font-family: var(--aam-zone-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-zone-font-size, 13px) !important;
    font-weight: var(--aam-zone-font-weight, 500) !important;
    font-style: var(--aam-zone-font-style, normal) !important;
    line-height: var(--aam-zone-line-height, 145%) !important;
    letter-spacing: var(--aam-zone-letter-spacing, 0px) !important;
    text-transform: var(--aam-zone-text-transform, none) !important;
}
.aam-dynamic-title {
    margin: 0 0 6px;
    color: var(--aam-accent, #d9a441);
    font-family: var(--aam-element-title-font-family, var(--aam-zone-font-family, Arial, Helvetica, sans-serif)) !important;
    font-size: var(--aam-element-title-font-size, var(--aam-zone-font-size, 13px)) !important;
    font-weight: var(--aam-element-title-font-weight, 700) !important;
    font-style: var(--aam-element-title-font-style, var(--aam-zone-font-style, normal)) !important;
    line-height: var(--aam-element-title-line-height, var(--aam-zone-line-height, 145%)) !important;
    letter-spacing: var(--aam-element-title-letter-spacing, var(--aam-zone-letter-spacing, 0px)) !important;
    text-transform: var(--aam-element-title-text-transform, var(--aam-zone-text-transform, none)) !important;
}
.aam-dynamic-copy {
    white-space: pre-line;
    color: var(--aam-panel-text, #ffffff);
    font-family: var(--aam-element-copy-font-family, var(--aam-zone-font-family, Arial, Helvetica, sans-serif)) !important;
    font-size: var(--aam-element-copy-font-size, var(--aam-zone-font-size, 13px)) !important;
    font-weight: var(--aam-element-copy-font-weight, var(--aam-zone-font-weight, 500)) !important;
    font-style: var(--aam-element-copy-font-style, var(--aam-zone-font-style, normal)) !important;
    line-height: var(--aam-element-copy-line-height, var(--aam-zone-line-height, 145%)) !important;
    letter-spacing: var(--aam-element-copy-letter-spacing, var(--aam-zone-letter-spacing, 0px)) !important;
    text-transform: var(--aam-element-copy-text-transform, var(--aam-zone-text-transform, none)) !important;
}
.aam-dynamic-image img {
    display: inline-block;
    object-fit: contain;
}
.aam-dynamic-button-link {
    display: inline-flex !important;
    width: auto !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    font-family: var(--aam-element-font-family, var(--aam-zone-font-family, Arial, Helvetica, sans-serif)) !important;
    font-size: var(--aam-element-font-size, var(--aam-zone-font-size, 13px)) !important;
    font-weight: var(--aam-element-font-weight, var(--aam-zone-font-weight, 500)) !important;
    font-style: var(--aam-element-font-style, var(--aam-zone-font-style, normal)) !important;
    line-height: var(--aam-element-line-height, 120%) !important;
    letter-spacing: var(--aam-element-letter-spacing, var(--aam-zone-letter-spacing, 0px)) !important;
    text-transform: var(--aam-element-text-transform, var(--aam-zone-text-transform, none)) !important;
    transition: transform .2s ease, filter .2s ease, opacity .2s ease;
}
.aam-dynamic-button-link:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    opacity: .98;
}
.aam-dynamic-divider {
    box-sizing: border-box;
}
.aam-dynamic-spacer {
    pointer-events: none;
}
/* Keep the close button clear when the administrator intentionally removes or
   moves the identity block away from the first position. */
.aam-layout-stack > .aam-layout-block:first-child:not(.aam-layout-identity) {
    padding-top: 52px !important;
}

/* =========================================================
   v1.9.6 — MEGA MENU TITLE ALIGNMENT
   The group title uses the exact horizontal inset configured for the
   first-level menu items, so Left and Right line up with their text edges.
   ========================================================= */
.aam-layout-megamenu .aam-leo-main-title,
.aam-layout-megamenu .aam-leo-group-title {
    display: block !important;
    box-sizing: border-box !important;
    width: calc(100% - (var(--aam-menu-item-padding-x, 18px) * 2)) !important;
    margin-left: var(--aam-menu-item-padding-x, 18px) !important;
    margin-right: var(--aam-menu-item-padding-x, 18px) !important;
}
.aam-layout-megamenu.aam-megamenu-title-align-left .aam-leo-main-title,
.aam-layout-megamenu.aam-megamenu-title-align-left .aam-leo-group-title {
    text-align: left !important;
}
.aam-layout-megamenu.aam-megamenu-title-align-center .aam-leo-main-title,
.aam-layout-megamenu.aam-megamenu-title-align-center .aam-leo-group-title {
    text-align: center !important;
}
.aam-layout-megamenu.aam-megamenu-title-align-right .aam-leo-main-title,
.aam-layout-megamenu.aam-megamenu-title-align-right .aam-leo-group-title {
    text-align: right !important;
}

/* =========================================================
   v1.9.6 — TEXT AREA WITH ICON + LINK
   ========================================================= */
.aam-dynamic-text-link {
    display: block !important;
    width: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}
.aam-dynamic-text-link:hover,
.aam-dynamic-text-link:focus {
    color: inherit !important;
    text-decoration: none !important;
}
.aam-dynamic-text-inner {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    gap: var(--aam-dynamic-icon-gap, 10px);
}
.aam-dynamic-text.aam-align-left .aam-dynamic-text-inner {
    justify-content: flex-start;
}
.aam-dynamic-text.aam-align-center .aam-dynamic-text-inner {
    justify-content: center;
}
.aam-dynamic-text.aam-align-right .aam-dynamic-text-inner {
    justify-content: flex-end;
}
.aam-dynamic-text-inner.aam-icon-position-right {
    flex-direction: row-reverse;
}
.aam-dynamic-text-content {
    display: block;
    min-width: 0;
}
.aam-dynamic-text-icon {
    display: inline-flex !important;
    flex: 0 0 var(--aam-dynamic-icon-size, 18px);
    width: var(--aam-dynamic-icon-size, 18px);
    height: var(--aam-dynamic-icon-size, 18px);
    align-items: center;
    justify-content: center;
    color: var(--aam-accent, #d9a441) !important;
    font-size: var(--aam-dynamic-icon-size, 18px) !important;
    line-height: 1 !important;
}
.aam-dynamic-text-icon i {
    font-size: inherit !important;
    line-height: 1 !important;
    color: inherit !important;
}
.aam-dynamic-text-icon-image img {
    display: block !important;
    width: var(--aam-dynamic-icon-size, 18px) !important;
    height: var(--aam-dynamic-icon-size, 18px) !important;
    max-width: none !important;
    object-fit: contain !important;
}
.aam-dynamic-title,
.aam-dynamic-copy {
    display: block;
}



/* =========================================================
   v1.9.8 — PER-ELEMENT ALIGNMENT + OPTIONAL BOX
   ========================================================= */
.aam-layout-block.aam-element-boxed{
    overflow:visible;
}
.aam-layout-block.aam-align-left,
.aam-layout-block.aam-element-align-left{ text-align:left; }
.aam-layout-block.aam-align-center,
.aam-layout-block.aam-element-align-center{ text-align:center; }
.aam-layout-block.aam-align-right,
.aam-layout-block.aam-element-align-right{ text-align:right; }
.aam-dynamic-divider .aam-divider-line{ display:block; }
.aam-dynamic-divider.aam-align-left .aam-divider-line{ margin-left:0; margin-right:auto; }
.aam-dynamic-divider.aam-align-center .aam-divider-line{ margin-left:auto; margin-right:auto; }
.aam-dynamic-divider.aam-align-right .aam-divider-line{ margin-left:auto; margin-right:0; }

/* =========================================================
   v1.9.9 — MEGA MENU TITLE PRESENTATION
   Runtime JS applies the final values inline with !important so they remain
   authoritative even after the Leo/Bootstrap line-cleanup pass.
   ========================================================= */
.aam-layout-megamenu .aam-leo-main-title,
.aam-layout-megamenu .aam-leo-group-title {
    box-sizing: border-box !important;
    max-width: 100% !important;
}


/* =========================================================
   v2.0.1 — TRUE WHOLE-PANEL BACKGROUND + PER-ELEMENT COLORS
   The visual stack is always:
   1) base panel colour
   2) optional image
   3) optional overlay
   4) menu/content
   Leo wrappers are transparent so they cannot cover the global background.
   ========================================================= */
.aam-panel {
    background: transparent !important;
    background-color: transparent !important;
}

.aam-panel-bg-color-layer,
.aam-panel-bg-image-layer,
.aam-panel-bg-overlay-layer {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    pointer-events: none !important;
}

.aam-panel-bg-color-layer {
    display: block !important;
    visibility: visible !important;
    z-index: 0 !important;
    background: var(--aam-panel-bg, #2f2f2f) !important;
}

.aam-panel-bg-image-layer {
    z-index: 1 !important;
}

.aam-panel-bg-overlay-layer {
    z-index: 2 !important;
}

.aam-panel > .aam-close,
.aam-panel > .aam-panel-body {
    z-index: 3 !important;
}

/* The imported Leo menu must never paint an opaque copy of PANEL_BG over the
   image/overlay. Only deliberately configured boxes, buttons, hovers and
   submenus may have their own background. */
.aam-panel .aam-leo-output,
.aam-panel .aam-leo-output > *,
.aam-panel .aam-leo-output .navbar,
.aam-panel .aam-leo-output .navbar-collapse,
.aam-panel .aam-leo-output .navbar-nav,
.aam-panel .aam-leo-output .nav,
.aam-panel .aam-leo-output .leo-megamenu,
.aam-panel .aam-leo-output .leo-verticalmenu,
.aam-panel .aam-leo-output .megamenu,
.aam-panel .aam-leo-output .menu-content,
.aam-panel .aam-leo-output .menu-item,
.aam-panel .aam-leo-output .box-content,
.aam-panel .aam-leo-output .block_content,
.aam-panel .aam-leo-output .verticalmenu,
.aam-panel .aam-leo-output .leo-top-menu,
.aam-panel .aam-leo-output .megamenu-off-canvas,
.aam-panel .aam-leo-output .cavas_menu,
.aam-panel .aam-leo-output .navbar-default,
.aam-panel .aam-leo-output [role="navigation"],
.aam-panel .aam-leo-output > ul,
.aam-panel .aam-leo-output > ul > li,
.aam-panel .aam-leo-output .nav > li,
.aam-panel .aam-leo-output .navbar-nav > li,
.aam-panel .aam-leo-output .megamenu > li,
.aam-panel .aam-leo-output .leo-megamenu > li,
.aam-panel .aam-leo-output .aam-main-item {
    background: transparent !important;
    background-color: transparent !important;
}

/* Text element: local colours win only inside that block. When a local colour
   is disabled, the variable falls back to the panel/global colour. */
.aam-dynamic-text .aam-dynamic-title {
    color: var(--aam-element-title-color, var(--aam-accent, #d9a441)) !important;
}
.aam-dynamic-text .aam-dynamic-copy,
.aam-dynamic-text .aam-dynamic-text-link {
    color: var(--aam-element-text-color, var(--aam-panel-text, #ffffff)) !important;
}
.aam-dynamic-text .aam-dynamic-text-icon {
    color: var(--aam-element-icon-color, var(--aam-accent, #d9a441)) !important;
}

/* Custom HTML is allowed to use its own inline colours. The section itself
   provides the global fallback, but descendants are not force-coloured. */
.aam-dynamic-html {
    color: var(--aam-panel-text, #ffffff);
    font-family: var(--aam-element-font-family, var(--aam-zone-font-family, Arial, Helvetica, sans-serif)) !important;
    font-size: var(--aam-element-font-size, var(--aam-zone-font-size, 13px)) !important;
    font-weight: var(--aam-element-font-weight, var(--aam-zone-font-weight, 500)) !important;
    font-style: var(--aam-element-font-style, var(--aam-zone-font-style, normal)) !important;
    line-height: var(--aam-element-line-height, var(--aam-zone-line-height, 145%)) !important;
    letter-spacing: var(--aam-element-letter-spacing, var(--aam-zone-letter-spacing, 0px)) !important;
    text-transform: var(--aam-element-text-transform, var(--aam-zone-text-transform, none)) !important;
}

/* v2.0.2 — global area typography fallbacks. Runtime JS still enforces these
   on Leo output because Leo may ship strong theme declarations. */
.aam-title {
    font-style: var(--aam-title-font-style, normal) !important;
    line-height: var(--aam-title-line-height, 120%) !important;
    letter-spacing: var(--aam-title-letter-spacing, 0px) !important;
    text-transform: var(--aam-title-text-transform, none) !important;
}
.aam-subtitle {
    font-style: var(--aam-subtitle-font-style, normal) !important;
    line-height: var(--aam-subtitle-line-height, 140%) !important;
    letter-spacing: var(--aam-subtitle-letter-spacing, 0px) !important;
    text-transform: var(--aam-subtitle-text-transform, none) !important;
}


/* =========================================================
   v2.0.3 — CLOSE BUTTON CLICK LAYER
   Keep the X above the panel body/background and fully clickable.
   ========================================================= */
.aam-panel > .aam-close {
    position: absolute !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
}

.aam-panel > .aam-panel-body {
    z-index: 3 !important;
}

/* =========================================================
   v2.0.4 — SUBMENU COLOURS ARE FULLY INDEPENDENT
   Older Leo/theme rules sometimes reused the main-panel background/text/hover
   variables inside nested menus. These final rules deliberately isolate every
   submenu level from the main menu palette.
   ========================================================= */
.aam-flyout-submenu,
.aam-flyout-submenu .aam-submenu,
.aam-flyout-submenu .dropdown-menu,
.aam-flyout-submenu .dropdown-sub,
.aam-flyout-submenu .dropdown-mega,
.aam-flyout-submenu .submenu,
.aam-flyout-submenu .level1,
.aam-flyout-submenu .level2,
.aam-panel .aam-leo-output .dropdown-menu,
.aam-panel .aam-leo-output .dropdown-sub,
.aam-panel .aam-leo-output .dropdown-mega,
.aam-panel .aam-leo-output .submenu,
.aam-panel .aam-leo-output .level1,
.aam-panel .aam-leo-output .level2 {
    background-color: var(--aam-submenu-bg, #2f2f2f) !important;
    color: var(--aam-submenu-text, #ffffff) !important;
}

.aam-flyout-submenu a,
.aam-flyout-submenu a *,
.aam-flyout-submenu .dropdown-item,
.aam-flyout-submenu .dropdown-item *,
.aam-panel .aam-leo-output .dropdown-menu a,
.aam-panel .aam-leo-output .dropdown-menu a *,
.aam-panel .aam-leo-output .dropdown-sub a,
.aam-panel .aam-leo-output .dropdown-sub a *,
.aam-panel .aam-leo-output .dropdown-mega a,
.aam-panel .aam-leo-output .dropdown-mega a *,
.aam-panel .aam-leo-output .submenu a,
.aam-panel .aam-leo-output .submenu a *,
.aam-panel .aam-leo-output .level1 a,
.aam-panel .aam-leo-output .level1 a *,
.aam-panel .aam-leo-output .level2 a,
.aam-panel .aam-leo-output .level2 a * {
    color: var(--aam-submenu-text, #ffffff) !important;
}

.aam-flyout-submenu small,
.aam-flyout-submenu .menu-desc,
.aam-flyout-submenu .menu-desc *,
.aam-flyout-submenu .description,
.aam-flyout-submenu .description *,
.aam-flyout-submenu .subtitle,
.aam-flyout-submenu .subtitle *,
.aam-flyout-submenu .menu-subtitle,
.aam-flyout-submenu .menu-subtitle *,
.aam-panel .aam-leo-output .dropdown-menu small,
.aam-panel .aam-leo-output .dropdown-menu .menu-desc,
.aam-panel .aam-leo-output .dropdown-menu .description,
.aam-panel .aam-leo-output .dropdown-menu .subtitle,
.aam-panel .aam-leo-output .dropdown-menu .menu-subtitle {
    color: var(--aam-submenu-muted, #d8d8d8) !important;
}

.aam-flyout-submenu .caret,
.aam-flyout-submenu .menu-icon,
.aam-flyout-submenu .fa-angle-down,
.aam-flyout-submenu .fa-angle-right,
.aam-flyout-submenu .fa-chevron-down,
.aam-flyout-submenu .fa-chevron-right,
.aam-panel .aam-leo-output .dropdown-menu .caret,
.aam-panel .aam-leo-output .dropdown-menu .menu-icon,
.aam-panel .aam-leo-output .dropdown-sub .caret,
.aam-panel .aam-leo-output .dropdown-mega .caret,
.aam-panel .aam-leo-output .submenu .caret,
.aam-panel .aam-leo-output .level1 .caret,
.aam-panel .aam-leo-output .level2 .caret {
    color: var(--aam-submenu-accent, #d9a441) !important;
}

.aam-flyout-submenu:not(.aam-flyout-mega) li:hover,
.aam-flyout-submenu:not(.aam-flyout-mega) li.active,
.aam-flyout-submenu:not(.aam-flyout-mega) li.current,
.aam-flyout-submenu:not(.aam-flyout-mega) li.open,
.aam-flyout-submenu:not(.aam-flyout-mega) li.show {
    background: var(--aam-submenu-hover-bg, #87001f) !important;
    background-color: var(--aam-submenu-hover-bg, #87001f) !important;
}

.aam-flyout-submenu a:hover,
.aam-flyout-submenu .dropdown-item:hover,
.aam-panel .aam-leo-output .dropdown-menu a:hover,
.aam-panel .aam-leo-output .dropdown-sub a:hover,
.aam-panel .aam-leo-output .dropdown-mega a:hover,
.aam-panel .aam-leo-output .submenu a:hover,
.aam-panel .aam-leo-output .level1 a:hover,
.aam-panel .aam-leo-output .level2 a:hover {
    background-color: var(--aam-submenu-hover-bg, #87001f) !important;
    color: var(--aam-submenu-hover-text, #ffffff) !important;
}
.aam-flyout-submenu a:hover *,
.aam-flyout-submenu .dropdown-item:hover *,
.aam-panel .aam-leo-output .dropdown-menu a:hover *,
.aam-panel .aam-leo-output .dropdown-sub a:hover *,
.aam-panel .aam-leo-output .dropdown-mega a:hover *,
.aam-panel .aam-leo-output .submenu a:hover *,
.aam-panel .aam-leo-output .level1 a:hover *,
.aam-panel .aam-leo-output .level2 a:hover * {
    color: var(--aam-submenu-hover-text, #ffffff) !important;
}

/* Keep submenu headings independent from the main-menu heading palette too. */
.aam-flyout-submenu .menu-title,
.aam-flyout-submenu .widget-heading,
.aam-flyout-submenu .title_block,
.aam-flyout-submenu h1,
.aam-flyout-submenu h2,
.aam-flyout-submenu h3,
.aam-flyout-submenu h4,
.aam-flyout-submenu h5,
.aam-flyout-submenu h6 {
    color: var(--aam-submenu-text, #ffffff) !important;
}


/* =========================================================
   v2.0.5 — SUBMENU BACKGROUND HARD FIX
   Leo rich mega flyouts had older, more-specific !important rules using
   --aam-panel-bg. These final selectors explicitly target the rich flyout too,
   so SUBMENU_BG always wins for normal, mega and nested submenu surfaces.
   ========================================================= */
.aam-flyout-submenu,
.aam-flyout-submenu.aam-flyout-mega {
    background: var(--aam-submenu-bg, #2f2f2f) !important;
    background-color: var(--aam-submenu-bg, #2f2f2f) !important;
    color: var(--aam-submenu-text, #ffffff) !important;
    border-radius: var(--aam-submenu-radius, 14px) !important;
    box-shadow: var(--aam-submenu-shadow, 0 18px 44px rgba(0,0,0,.30)) !important;
}

/* A mega submenu must read visually as one continuous surface. Leo's layout
   rows/columns are transparent; the configured colour belongs to the flyout. */
.aam-flyout-submenu.aam-flyout-mega .dropdown-menu-inner,
.aam-flyout-submenu.aam-flyout-mega .mega-col,
.aam-flyout-submenu.aam-flyout-mega .mega-col-inner,
.aam-flyout-submenu.aam-flyout-mega .row,
.aam-flyout-submenu.aam-flyout-mega [class*="col-"] {
    background: transparent !important;
    background-color: transparent !important;
}

/* Genuine nested submenu levels keep the same submenu palette. */
.aam-flyout-submenu li > .aam-submenu,
.aam-flyout-submenu li > .submenu,
.aam-flyout-submenu li > .level1,
.aam-flyout-submenu li > .level2 {
    background: var(--aam-submenu-bg, #2f2f2f) !important;
    background-color: var(--aam-submenu-bg, #2f2f2f) !important;
}

/* Mobile / non-portalled Leo submenus use the independent submenu colour too. */
.aam-panel .aam-leo-output .dropdown-menu,
.aam-panel .aam-leo-output .dropdown-sub,
.aam-panel .aam-leo-output .dropdown-mega,
.aam-panel .aam-leo-output .submenu,
.aam-panel .aam-leo-output .level1,
.aam-panel .aam-leo-output .level2,
.aam-panel .aam-leo-output .aam-submenu {
    background-color: var(--aam-submenu-bg, #2f2f2f) !important;
}

/* =========================================================
   v2.0.9 — TODAS AS CATEGORIAS A–Z / FULL-SCREEN SMART LAYOUT
   - Can be positioned after the Leo title "Categorias".
   - Desktop flyout uses the maximum configured viewport area.
   - Smart responsive grid reduces dead space while preserving A–Z order.
   - Search field has its own high-contrast configurable design.
   ========================================================= */
.aam-layout-all-categories {
    width: 100%;
    box-sizing: border-box;
}

.aam-layout-all-categories.aam-all-categories-source-empty {
    display: none !important;
}

.aam-panel .aam-all-categories-menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aam-panel .aam-all-categories-owner {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.aam-panel .aam-all-categories-owner > .aam-all-categories-trigger {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    padding: var(--aam-menu-item-padding-y, 14px) var(--aam-menu-item-padding-x, 18px) !important;
    margin: 0 !important;
    border: 0 !important;
    color: var(--aam-panel-text, #ffffff) !important;
    background: transparent !important;
    text-decoration: none !important;
    font-family: var(--aam-menu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-menu-font-size, 14px) !important;
    font-weight: var(--aam-menu-font-weight, 600) !important;
    font-style: var(--aam-menu-font-style, normal) !important;
    line-height: var(--aam-menu-line-height, 130%) !important;
    letter-spacing: var(--aam-menu-letter-spacing, 0px) !important;
    text-transform: var(--aam-menu-text-transform, none) !important;
    cursor: pointer !important;
    transition: background .18s ease, color .18s ease !important;
}

.aam-panel .aam-all-categories-owner > .aam-all-categories-trigger:hover,
.aam-panel .aam-all-categories-owner.aam-flyout-active > .aam-all-categories-trigger,
.aam-panel .aam-all-categories-owner.is-subopen > .aam-all-categories-trigger {
    background: var(--aam-hover-bg, #87001f) !important;
    color: var(--aam-menu-hover-text, #ffffff) !important;
}

.aam-panel .aam-all-categories-trigger .aam-arrow {
    flex: 0 0 auto !important;
    color: var(--aam-accent, #d9a441) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    transition: transform .18s ease, color .18s ease !important;
}

.aam-panel .aam-all-categories-owner.aam-flyout-active > .aam-all-categories-trigger .aam-arrow,
.aam-panel .aam-all-categories-owner.is-subopen > .aam-all-categories-trigger .aam-arrow {
    transform: translateX(3px) !important;
    color: var(--aam-menu-hover-text, #ffffff) !important;
}

/* Geometry is finalised by JS using the real panel edge and viewport size. */
.aam-flyout-submenu.aam-all-categories-submenu {
    width: min(1000px, calc(100vw - 24px)) !important;
    min-width: min(360px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    height: calc(100vh - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: var(--aam-submenu-bg, #ffffff) !important;
    color: var(--aam-submenu-text, #222222) !important;
    border-radius: var(--aam-submenu-radius, 14px) !important;
    box-shadow: var(--aam-submenu-shadow, 0 18px 44px rgba(0,0,0,.30)) !important;
}

.aam-all-categories-search-wrap {
    position: relative !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px 10px !important;
    background: var(--aam-submenu-bg, #ffffff) !important;
    border: 0 !important;
}

.aam-all-categories-search-icon {
    position: absolute !important;
    left: 34px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    color: var(--aam-allcat-search-icon, #800020) !important;
    pointer-events: none !important;
}

.aam-all-categories-search-icon svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

.aam-all-categories-search {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: var(--aam-allcat-search-height, 48px) !important;
    box-sizing: border-box !important;
    padding: 0 46px 0 46px !important;
    margin: 0 !important;
    border: var(--aam-allcat-search-border-width, 2px) solid var(--aam-allcat-search-border, #800020) !important;
    border-radius: var(--aam-allcat-search-radius, 12px) !important;
    outline: 0 !important;
    background: var(--aam-allcat-search-bg, #ffffff) !important;
    color: var(--aam-allcat-search-text, #202020) !important;
    caret-color: var(--aam-allcat-search-border, #800020) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-allcat-search-font-size, 14px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.08) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.aam-all-categories-search:hover {
    box-shadow: 0 3px 14px rgba(0,0,0,.11) !important;
}

.aam-all-categories-search:focus {
    border-color: var(--aam-allcat-search-border, #800020) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aam-allcat-search-border, #800020) 18%, transparent), 0 3px 14px rgba(0,0,0,.10) !important;
}

.aam-all-categories-search::placeholder {
    color: var(--aam-allcat-search-placeholder, #777777) !important;
    opacity: 1 !important;
}

.aam-all-categories-search::-webkit-search-cancel-button {
    -webkit-appearance: none !important;
    appearance: none !important;
}

.aam-all-categories-clear {
    position: absolute !important;
    top: 50% !important;
    right: 34px !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--aam-allcat-search-text, #202020) !important;
    font-size: 22px !important;
    line-height: 28px !important;
    font-family: Arial, sans-serif !important;
    cursor: pointer !important;
}

.aam-all-categories-clear:hover {
    background: rgba(0,0,0,.07) !important;
}

.aam-all-categories-meta {
    flex: 0 0 auto !important;
    padding: 2px 20px 8px !important;
    margin: 0 !important;
    color: var(--aam-submenu-muted, #777777) !important;
    background: var(--aam-submenu-bg, #ffffff) !important;
    border-bottom: 1px solid rgba(128,0,32,.10) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.aam-all-categories-meta.is-hidden {
    display: none !important;
}

.aam-all-categories-scroll {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 12px 18px 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--aam-allcat-column-min-width, 210px)), 1fr)) !important;
    column-gap: var(--aam-allcat-column-gap, 14px) !important;
    row-gap: var(--aam-allcat-group-gap, 10px) !important;
    align-content: start !important;
    align-items: start !important;
}

.aam-all-categories-letter-group {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    align-self: start !important;
    break-inside: avoid !important;
}

.aam-all-categories-letter-group[hidden],
.aam-all-categories-category[hidden],
.aam-all-categories-empty[hidden],
.aam-all-categories-clear[hidden] {
    display: none !important;
}

.aam-all-categories-letter {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 2px var(--aam-allcat-item-padding-x, 8px) 4px !important;
    margin: 0 0 2px !important;
    color: var(--aam-allcat-letter-color, #d9a441) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--aam-allcat-letter-color, #d9a441) 34%, transparent) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-allcat-letter-font-size, 15px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.aam-flyout-submenu.aam-all-categories-submenu .aam-all-categories-list,
.aam-flyout-submenu.aam-all-categories-submenu .aam-all-categories-list li,
.aam-all-categories-submenu .aam-all-categories-list,
.aam-all-categories-submenu .aam-all-categories-list li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.aam-all-categories-submenu .aam-all-categories-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
}

.aam-all-categories-submenu .aam-all-categories-category {
    min-width: 0 !important;
    border: 0 !important;
}

.aam-all-categories-submenu .aam-all-categories-category > a {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: var(--aam-allcat-item-padding-y, 4px) var(--aam-allcat-item-padding-x, 8px) !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    color: var(--aam-submenu-text, #222222) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 6px !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: var(--aam-submenu-font-weight, 500) !important;
    font-style: var(--aam-submenu-font-style, normal) !important;
    line-height: 1.28 !important;
    letter-spacing: var(--aam-submenu-letter-spacing, 0px) !important;
    text-transform: var(--aam-submenu-text-transform, none) !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    transition: background .14s ease, color .14s ease, padding-left .14s ease !important;
}

.aam-all-categories-submenu .aam-all-categories-category > a:hover {
    padding-left: calc(var(--aam-allcat-item-padding-x, 8px) + 4px) !important;
    background: var(--aam-submenu-hover-bg, #87001f) !important;
    color: var(--aam-submenu-hover-text, #ffffff) !important;
}

.aam-all-categories-empty {
    grid-column: 1 / -1 !important;
    padding: 36px 18px !important;
    text-align: center !important;
    color: var(--aam-submenu-muted, #777777) !important;
    font-family: var(--aam-submenu-font-family, Arial, Helvetica, sans-serif) !important;
    font-size: var(--aam-submenu-font-size, 13px) !important;
    font-weight: 400 !important;
}

/* Mobile keeps the index inside the panel and uses a single compact column. */
@media (max-width: 767px) {
    .aam-root.aam-device-mobile .aam-all-categories-owner.is-subopen > .aam-all-categories-submenu {
        position: static !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-scroll {
        flex: 0 1 auto !important;
        max-height: 62vh !important;
        padding: 8px 12px 14px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 7px !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-letter-group {
        grid-column: auto !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-list {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-search-wrap {
        padding: 10px 12px 8px !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-search-icon {
        left: 27px !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-clear {
        right: 27px !important;
    }

    .aam-root.aam-device-mobile .aam-all-categories-meta {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
