
/* CFTE_NAV_SINGLE_SOURCE_V1 */

/* Main dropdown */
.cfte-nav-dropdown-menu {
    box-sizing: border-box !important;
}

@media (min-width: 901px) {
    .cfte-nav-dropdown-menu {
        width: 330px !important;
        max-width: calc(100vw - 32px) !important;
    }

    .cfte-nav-modules {
        position: absolute !important;
        top: 0 !important;
        right: calc(100% + 8px) !important;
        width: 310px !important;
        max-width: calc(100vw - 32px) !important;
    }
}

/* Module dropdown container */
.cfte-nav-dropdown-menu .cfte-nav-modules {
    box-sizing: border-box !important;
    padding: 8px !important;
    max-height: min(75vh, 650px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
}

/*
 * Apply the same layout to:
 * 01–02 (links)
 * 03–12 (disabled spans)
 */
.cfte-nav-dropdown-menu .cfte-nav-modules > a,
.cfte-nav-dropdown-menu .cfte-nav-modules > span.cfte-nav-module-soon {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    padding: 5px 10px !important;
    margin: 0 !important;
    gap: 10px !important;

    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* Number */
.cfte-nav-dropdown-menu .cfte-nav-modules > a > .cfte-module-number,
.cfte-nav-dropdown-menu .cfte-nav-modules > .cfte-nav-module-soon > .cfte-module-number {
    display: inline-flex !important;
    flex: 0 0 32px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Text wrapper */
.cfte-nav-dropdown-menu .cfte-nav-modules > a > span:last-child,
.cfte-nav-dropdown-menu .cfte-nav-modules > .cfte-nav-module-soon > span:nth-child(2) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;

    padding: 0 !important;
    margin: 0 !important;
}

/* Titles */
.cfte-nav-dropdown-menu .cfte-nav-modules strong {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;

    white-space: nowrap !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
}

/* No availability text */
.cfte-nav-dropdown-menu .cfte-nav-modules > a small,
.cfte-nav-dropdown-menu .cfte-nav-modules > .cfte-nav-module-soon small,
.cfte-nav-dropdown-menu .cfte-nav-modules > .cfte-nav-module-soon em {
    display: none !important;
}

/* Header */
.cfte-nav-dropdown-menu .cfte-nav-modules-head {
    padding: 8px 10px !important;
    margin: 0 0 4px !important;
}

/* Arabic main menu entries */
.cfte-nav-dropdown-menu > a.cfte-nav-simple-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.cfte-nav-dropdown-menu > a.cfte-nav-simple-item strong,
.cfte-nav-dropdown-menu > a.cfte-nav-simple-item small {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
}

/* Mobile */
@media (max-width: 900px) {
    .cfte-nav-dropdown-menu .cfte-nav-modules {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: 320px !important;
        transform: none !important;
    }
}
