/* Shared preloader, navigation, notification, and floating-action styles. */

/* ===============================
   PRELOADER STYLES
   =============================== */

    #preloader {
        position: fixed;
        inset: 0;
        z-index: 99999;
        background-color: #050816;
        /* site background */
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.4s ease, visibility 0.4s ease;
    }

    /* Center content */
    #preloader .preloader-inner {
        text-align: center;
    }

    #preloader .loading-text img {
        max-width: 420px;
        height: auto;
    }

    /* Fade-out state */
    #preloader.preloader-hide {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

/* Extracted shared style block */

/* =========================================================
   MULTI-LEVEL NAVIGATION FIX
   Desktop: >= 1200px
   Mobile:  < 1200px
   ========================================================= */

/* ---------- Desktop navigation ---------- */
@media (min-width: 1200px) {
    .header .mainnav {
        position: relative;
        z-index: 1000;
    }

    .header .mainnav .main-menu,
    .header .mainnav .main-menu ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .header .mainnav .main-menu {
        display: flex;
        align-items: center;
    }

    .header .mainnav .main-menu > li {
        position: relative;
    }

    .header .mainnav .main-menu li {
        position: relative;
    }

    /* Hide every dropdown by default */
    .header .mainnav .main-menu li > .sub-menu {
        position: absolute !important;
        display: block !important;
        min-width: 255px;
        margin: 0 !important;
        padding: 8px 0 !important;
        /*background: #ffffff;*/
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 8px;
        box-shadow: 0 14px 35px rgba(0, 0, 0, 0.16);
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease;
        z-index: 1100;
    }

    /* First dropdown level */
    .header .mainnav .main-menu > li > .sub-menu {
        top: calc(100% + 2px) !important;
        left: 0 !important;
        right: auto !important;
        transform: translateY(10px) !important;
    }

    /* Second / third dropdown levels */
    .header .mainnav .main-menu .sub-menu li > .sub-menu {
        top: -9px !important;
        left: calc(100% - 2px) !important;
        right: auto !important;
        transform: translateX(10px) !important;
    }

    /*
     * Pages and About Us are near the right edge.
     * Open their nested dropdowns to the LEFT to avoid viewport overflow.
     * Top-level order from the end: FAQ, About Us, Pages.
     */
    .header .mainnav .main-menu > li:nth-last-child(-n+3) > .sub-menu li > .sub-menu {
        left: auto !important;
        right: calc(100% - 2px) !important;
        transform: translateX(-10px) !important;
    }

    /* Show ONLY the direct child dropdown */
    .header .mainnav .main-menu li:hover > .sub-menu,
    .header .mainnav .main-menu li:focus-within > .sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate(0, 0) !important;
    }

    /* Dropdown links */
    .header .mainnav .main-menu .sub-menu > li > a {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 42px;
        padding: 10px 38px 10px 16px !important;
        white-space: nowrap;
        line-height: 1.35;
    }

    .header .mainnav .main-menu .sub-menu > li > a:hover,
    .header .mainnav .main-menu .sub-menu > li > a:focus {
        background: rgba(0, 0, 0, 0.045);
    }

    /* Parent arrows */
    .header .mainnav .main-menu > .menu-item-has-children > a::after {
        content: "\F282";
        font-family: "bootstrap-icons";
        font-size: 11px;
        margin-left: 7px;
        line-height: 1;
    }

    .header .mainnav .main-menu .sub-menu > .menu-item-has-children > a::after {
        content: "\F285";
        font-family: "bootstrap-icons";
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 11px;
        line-height: 1;
    }

    /* Reverse nested arrow when submenu opens left */
    .header .mainnav .main-menu > li:nth-last-child(-n+3) > .sub-menu
    > .menu-item-has-children > a::after {
        content: "\F284";
        right: auto;
        left: 14px;
    }

    .header .mainnav .main-menu > li:nth-last-child(-n+3) > .sub-menu
    > .menu-item-has-children > a {
        padding-left: 38px !important;
        padding-right: 16px !important;
    }

    /* Keep dropdowns above page sections */
    .header,
    .header-inner,
    .header .container-fluid,
    .header .header_right_part {
        overflow: visible !important;
    }
}

/* ---------- Mobile multi-level navigation ---------- */
@media (max-width: 1199.98px) {
    .mr_menu .mr_navmenu li {
        position: relative;
    }

    .mr_menu .mr_navmenu li > .sub-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 4px 0 4px 14px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
    }

    .mr_menu .mr_navmenu li.submenu-open > .sub-menu {
        display: block !important;
    }

    .mr_menu .mr_navmenu .menu-item-has-children > a {
        padding-right: 52px !important;
    }

    .mr-menu-submenu-toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 48px;
        height: 48px;
        border: 0;
        background: transparent;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 2;
    }

    .mr-menu-submenu-toggle::before {
        content: "\F282";
        font-family: "bootstrap-icons";
        font-size: 13px;
        line-height: 1;
        transition: transform .2s ease;
    }

    .menu-item-has-children.submenu-open > .mr-menu-submenu-toggle::before {
        transform: rotate(180deg);
    }

    /* Indent deeper menu levels */
    .mr_menu .mr_navmenu .sub-menu .sub-menu {
        padding-left: 14px !important;
    }
}

/* Extracted shared style block */

.success-message {
            position: fixed;
            top: 20px;
            right: 20px;
            background-color: #d9c90a;
            color: #fff;
            padding: 12px 20px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 500;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            z-index: 9999;
            opacity: 0;
            transform: translateY(-10px);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }

        .success-message.show {
            opacity: 1;
            transform: translateY(0);
        }

/* Extracted shared style block */

.franchise-button {
    right: 20px !important;
}
