/* Global Button Style Override to unify all website buttons */
    .w-btn, 
    button, 
    input[type="submit"], 
    input[type="button"], 
    .btn, 
    .button {
        background-color: #d62c2f !important;
        background-image: none !important;
        color: #ffffff !important;
        border: none !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-radius: 6px !important;
        box-shadow: 0 4px 15px rgba(214, 44, 47, 0.4) !important;
        transition: all 0.2s ease !important;
    }
    .w-btn:hover, 
    button:hover, 
    input[type="submit"]:hover, 
    input[type="button"]:hover, 
    .btn:hover, 
    .button:hover {
        background-color: #b31217 !important;
        background-image: none !important;
        color: #ffffff !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(214, 44, 47, 0.6) !important;
    }

    /* Disable & Hide TranslatePress Automatic Language Detection Popup */
    #trp_ald_modal_container,
    #trp_ald_modal_popup,
    .trp_ald_popup_container,
    #trp_ald_container {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    #trp_ald_modal_popup::before {
        content: "" !important;
        display: block !important;
        width: 56px !important;
        height: 56px !important;
        margin: 0 auto 20px auto !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23d62c2f'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.905 0-5.64-.78-8.006-2.141m16.012 0a9 9 0 00-16.012 0M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E") !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
    }
    #trp_ald_popup_text {
        font-family: inherit !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;
        color: #1f2937 !important;
        margin-bottom: 25px !important;
        text-align: center !important;
    }
    .trp_ald_select_and_button {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        margin-top: 25px !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    .trp_ald_ls_container {
        height: 50px !important;
        width: 100% !important;
        margin: 0 !important;
        position: relative !important;
        box-sizing: border-box !important;
    }
    .trp_ald_ls_container .trp-language-switcher {
        position: relative !important;
        width: 100% !important;
        display: block !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-current-language {
        border: 2px solid #e5e7eb !important;
        border-radius: 10px !important;
        height: 50px !important;
        background-color: #f9fafb !important;
        color: #111827 !important;
        font-weight: 600 !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px !important;
        transition: all 0.2s ease !important;
        text-align: left !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
        background-position: right 16px center !important;
        background-size: 16px !important;
        background-repeat: no-repeat !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-current-language:hover {
        border-color: #d62c2f !important;
        background-color: #ffffff !important;
        box-shadow: 0 0 0 3px rgba(214, 44, 47, 0.1) !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-current-language.trp-ls-clicked {
        visibility: visible !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-current-language a {
        color: #111827 !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }
    .trp_ald_ls_container img.trp-flag-image {
        border-radius: 4px !important;
        margin-right: 12px !important;
        margin-left: 0 !important;
        padding: 0 !important;
        vertical-align: middle !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
        width: 24px !important;
        height: 18px !important;
        object-fit: cover !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-language {
        border: 2px solid #e5e7eb !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
        background-color: #ffffff !important;
        margin-top: 5px !important;
        box-sizing: border-box !important;
        padding: 6px 0 !important;
        z-index: 9999999999 !important;
        width: 100% !important;
        max-height: 200px !important;
        overflow-y: auto !important;
    }
    .trp_ald_ls_container .trp-language-switcher .trp-ls-shortcode-language.trp-ls-clicked {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        width: 100% !important;
        background-color: #ffffff !important;
        z-index: 9999999999 !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        padding: 6px 0 !important;
        visibility: visible !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-language .trp-ald-popup-select {
        padding: 10px 16px !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        color: #374151 !important;
        transition: all 0.15s ease !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-language .trp-ald-popup-select:hover {
        background-color: #f3f4f6 !important;
        color: #d62c2f !important;
    }
    .trp_ald_ls_container .trp-ls-shortcode-language .trp-ald-popup-select a {
        color: inherit !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }
    .trp_ald_button {
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    #trp_ald_popup_change_language {
        background-color: #d62c2f !important;
        border: none !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-radius: 10px !important;
        height: 50px !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 15px rgba(214, 44, 47, 0.4) !important;
        transition: all 0.2s ease !important;
        cursor: pointer !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }
    #trp_ald_popup_change_language:hover {
        background-color: #b31217 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(214, 44, 47, 0.6) !important;
    }
    #trp_ald_popup_change_language:active {
        transform: translateY(0) !important;
    }
    #trp_ald_x_button_and_textarea {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: 25px !important;
        color: #6b7280 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: all 0.15s ease !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #trp_ald_x_button_and_textarea:hover {
        color: #d62c2f !important;
    }
    #trp_ald_x_button_textarea {
        color: inherit !important;
        text-decoration: none !important;
        border-bottom: 1px dashed transparent !important;
        transition: all 0.15s ease !important;
    }
    #trp_ald_x_button_and_textarea:hover #trp_ald_x_button_textarea {
        border-bottom-color: #d62c2f !important;
    }
    #trp_ald_modal_popup #trp_ald_x_button {
        margin-right: 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
    }
    #trp_ald_modal_popup #trp_ald_x_button::before {
        content: "\f158" !important;
        font: normal 18px/1 dashicons !important;
        color: inherit !important;
        background: transparent !important;
        margin: 0 !important;
    }

    /* ==========================================================
       Mobile Header Language Switcher Styles (Inline with Hamburger)
       ========================================================== */

    /* Hide TranslatePress floater and footer switcher on mobile screens */
    @media (max-width: 1199px) {
        .trp-floating-switcher,
        .l-footer .trp-language-switcher,
        .l-footer .trp-language-switcher-container,
        #trp-floater-ls {
            display: none !important;
        }

        /* Hide the flag/lang button when the mobile nav panel is open.
           The header has z-index > nav panel so the button renders ON TOP
           of the open nav — hiding it removes the floating flag overlap. */
        .w-nav.type_mobile.niigma-menu-open ~ * .mobile-header-lang-switcher,
        .w-nav.type_mobile.niigma-menu-open .mobile-header-lang-switcher,
        body:has(.w-nav-control.active) .mobile-header-lang-switcher {
            opacity: 0 !important;
            pointer-events: none !important;
            visibility: hidden !important;
        }
    }

    /* Flex row wrapper that holds: [lang switcher] [hamburger] */
    .mobile-header-nav-group {
        display: none !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        position: relative !important; /* Enable z-index stacking context */
        z-index: 999999 !important;
        margin-left: auto !important; /* Push to right side of cell/header */
    }
    @media (max-width: 1199px) {
        .mobile-header-nav-group {
            display: inline-flex !important;
        }

        /* Ensure mobile menu container does not nest hamburger over desktop nav */
        .l-subheader.at_middle .l-subheader-cell.at_right {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
        }

        /* Ensure desktop horizontal menu list is completely hidden below 1200px
           Note: :not(.type_mobile) must be on the <nav>, not the <ul> — Impreza JS
           adds type_mobile to the nav element, never to the list itself. */
        .w-nav.ush_menu_2:not(.type_mobile) > .w-nav-list.level_1,
        .w-nav.type_desktop > .w-nav-list.level_1 {
            display: none !important;
        }

        /* Ensure mobile nav control is shown inside nav group */
        .w-nav-control {
            display: inline-flex !important;
        }

        /* Hide the desktop language switcher inside the mobile drilldown —
           mobile already has its own lang switcher in the header bar */
        .w-nav.type_mobile .niigma-desktop-lang-item,
        .niigma-desktop-lang-item {
            display: none !important;
        }

        /* Raise the header itself above the mobile nav panel (z-index: 9999 in drilldown)
           so the language dropdown always paints ON TOP of the red nav overlay */
        .l-header,
        .l-header-sticky,
        header.l-header {
            z-index: 9999999 !important; /* Stack header elements above menu overlays */
        }
    }

    /* Divider removed per user request */
    .mobile-lang-divider {
        display: none !important;
    }

    /* The language switcher itself */
    .mobile-header-lang-switcher {
        display: inline-flex !important;
        position: relative !important;
        align-items: center !important;
        z-index: 999999 !important;
        box-sizing: border-box !important;
        height: auto !important;
    }
    .mobile-header-lang-trigger {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        background-color: rgba(255, 255, 255, 0.12) !important;
        border: 1px solid rgba(255, 255, 255, 0.22) !important;
        border-radius: 6px !important;
        padding: 5px 10px !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        height: 36px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
    .mobile-header-lang-trigger:hover, .mobile-header-lang-trigger:active {
        background-color: rgba(255, 255, 255, 0.22) !important;
        border-color: rgba(255, 255, 255, 0.38) !important;
        color: #ffffff !important;
    }
    .mobile-header-lang-trigger img {
        width: 20px !important;
        height: 20px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    /* Code label span */
    .mobile-header-lang-trigger > span:not(.mobile-header-lang-chevron) {
        line-height: 1 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
    /* HTML chevron span — no pseudo-element used */
    .mobile-header-lang-chevron {
        font-size: 14px !important;
        line-height: 1 !important;
        opacity: 0.75 !important;
        transition: transform 0.2s ease !important;
        display: inline-block !important;
        margin-left: 2px !important;
        flex-shrink: 0 !important;
    }
    .mobile-header-lang-switcher.opened .mobile-header-lang-chevron {
        transform: rotate(180deg) !important;
        opacity: 1 !important;
    }
    /* Ensure no ::after pseudo-chevron conflicts */
    .mobile-header-lang-trigger::after {
        display: none !important;
        content: none !important;
    }
    .mobile-header-lang-dropdown {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 6px) !important;
        bottom: auto !important;
        right: 0 !important;
        background-color: #111111 !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        border-radius: 8px !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55) !important;
        min-width: 150px !important;
        width: max-content !important;
        padding: 6px 0 !important;
        z-index: 9999999999 !important;
        animation: mobileDropDown 0.18s ease-out forwards !important;
        box-sizing: border-box !important;
    }
    @keyframes mobileDropDown {
        from { opacity: 0; transform: translateY(-6px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    .mobile-header-lang-switcher.opened .mobile-header-lang-dropdown {
        display: block !important;
    }
    .mobile-header-lang-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 14px !important;
        color: rgba(255, 255, 255, 0.85) !important;
        background-color: transparent !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        text-decoration: none !important;
        transition: background-color 0.15s ease, color 0.15s ease !important;
        box-sizing: border-box !important;
        width: 100% !important;
        text-align: left !important;
        white-space: nowrap !important;
        cursor: pointer !important;
    }
    .mobile-header-lang-item img {
        width: 20px !important;
        height: 20px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    .mobile-header-lang-item span {
        line-height: 1 !important;
        color: inherit !important;
        font-size: 15px !important;
    }
    /* Hover: yellow highlight — high-specificity to override theme */
    html body .mobile-header-lang-item:hover,
    html body .mobile-header-lang-item:active {
        background-color: #ffcc00 !important;
        color: #111111 !important;
    }
    html body .mobile-header-lang-item:hover span,
    html body .mobile-header-lang-item:active span {
        color: #111111 !important;
    }
    .mobile-header-lang-item.active {
        color: #ffcc00 !important;
        pointer-events: none !important;
        background-color: transparent !important;
    }
    .mobile-header-lang-item.active span {
        color: #ffcc00 !important;
    }

    /* ============================================================
       Film Permits Page — Reduce paragraph and separator spacing
       ============================================================ */
    .page-id-67189 p,
    .parent-pageid-67189 p {
        margin-bottom: 14px !important;
    }
    .page-id-67189 .w-separator.size_medium,
    .parent-pageid-67189 .w-separator.size_medium {
        height: 16px !important;
    }
    .mobile-header-lang-item.active img {
        opacity: 0.4 !important;
    }

    /* Mobile drilldown styling is handled by niigma-mobile-drilldown.php */


    /* ==========================================================
       Desktop Header Language Switcher
       ========================================================== */
    @media (min-width: 1200px) {
        .niigma-desktop-lang-item {
            position: relative !important;
            list-style: none !important;
            display: flex !important;
            align-items: center !important;
        }

        /* Trigger button: flag + name + chevron */
        .niigma-desktop-lang-trigger {
            display: inline-flex !important;
            align-items: center !important;
            gap: 7px !important;
            padding: 6px 13px 6px 9px !important;
            border: 1.5px solid rgba(255,255,255,0.30) !important;
            border-radius: 6px !important;
            background: transparent !important;
            color: #ffffff !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            cursor: pointer !important;
            transition: background 0.18s ease, border-color 0.18s ease !important;
            white-space: nowrap !important;
            user-select: none !important;
        }
        .niigma-desktop-lang-trigger:hover,
        .niigma-desktop-lang-item.niigma-desktop-lang-open .niigma-desktop-lang-trigger {
            background: rgba(255,255,255,0.14) !important;
            border-color: rgba(255,255,255,0.55) !important;
        }
        .niigma-dlang-flag {
            width: 20px !important;
            height: 20px !important;
            border-radius: 50% !important;
            object-fit: cover !important;
            flex-shrink: 0 !important;
        }
        .niigma-dlang-name {
            font-size: 13px !important;
            font-weight: 600 !important;
            color: inherit !important;
            line-height: 1 !important;
        }
        .niigma-dlang-chevron {
            font-size: 10px !important;
            opacity: 0.65 !important;
            transition: transform 0.2s ease !important;
            margin-left: 1px !important;
            line-height: 1 !important;
        }
        .niigma-desktop-lang-item.niigma-desktop-lang-open .niigma-dlang-chevron {
            transform: rotate(180deg) !important;
            opacity: 1 !important;
        }

        /* Dropdown panel */
        .niigma-desktop-lang-dropdown {
            display: none !important;
            position: absolute !important;
            top: calc(100% + 6px) !important;
            right: 0 !important;
            left: auto !important;
            min-width: 175px !important;
            background: #ffffff !important;
            border: 1px solid rgba(0,0,0,0.12) !important;
            border-radius: 10px !important;
            box-shadow: 0 8px 28px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08) !important;
            padding: 5px 0 !important;
            z-index: 9999999 !important;
            overflow: hidden !important;
            animation: dlangFadeIn 0.16s ease-out forwards !important;
        }
        @keyframes dlangFadeIn {
            from { opacity: 0; transform: translateY(-6px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .niigma-desktop-lang-item.niigma-desktop-lang-open .niigma-desktop-lang-dropdown {
            display: none !important;
        }

        /* Option rows */
        .niigma-dlang-option {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            padding: 9px 16px !important;
            color: #1a1a1a !important;
            font-size: 13.5px !important;
            font-weight: 400 !important;
            text-decoration: none !important;
            transition: background 0.12s ease !important;
            white-space: nowrap !important;
            cursor: pointer !important;
        }
        .niigma-dlang-option img {
            width: 20px !important;
            height: 20px !important;
            border-radius: 50% !important;
            object-fit: cover !important;
            flex-shrink: 0 !important;
        }
        .niigma-dlang-option-name {
            flex: 1 !important;
            color: inherit !important;
        }
        .niigma-dlang-check {
            display: none !important;
            color: #d62c2f !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            flex-shrink: 0 !important;
        }
        .niigma-dlang-option.niigma-dlang-active .niigma-dlang-check {
            display: inline !important;
        }
        .niigma-dlang-option:hover {
            background: #f5f5f5 !important;
            color: #1a1a1a !important;
        }
        .niigma-dlang-option.niigma-dlang-active {
            font-weight: 700 !important;
            color: #1a1a1a !important;
        }
        .niigma-dlang-option.niigma-dlang-active:hover {
            background: #f0f0f0 !important;
        }
    }

/* Navigation Dropdown Fit & Overflow Prevention */
.w-nav.type_desktop .w-nav-list.level_2,
.w-nav.type_desktop .w-nav-list.level_3 {
    min-width: 13rem !important;
    max-width: 22rem !important;
}
.w-nav.type_desktop .w-nav-anchor:not(.level_1) {
    white-space: normal !important;
    word-break: normal !important;
}

/* ==========================================================
   Desktop Navigation — Weight, Indicator & Dropdown Styling
   ========================================================== */
@media (min-width: 1200px) {

    /* ── 1. Font weight & size ───────────────────────────────── */
    body.header_hor .w-nav.type_desktop .w-nav-anchor.level_1 {
        font-size: 0.92rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.04em !important;
    }

    /* ── 2. Parent item hover ─────────────────────────────────
       Keep the label fully visible with crisp white text and a
       refined translucent highlight pill so the item is clearly
       distinguishable on the red header without harsh white blocks.
       ─────────────────────────────────────────────────────── */
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1:hover > .w-nav-anchor.level_1,
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.opened > .w-nav-anchor.level_1,
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-item.level_1:hover > .w-nav-anchor.level_1,
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-item.level_1.opened > .w-nav-anchor.level_1 {
        background: rgba(255, 255, 255, 0.14) !important;
        border-radius: 4px !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1:hover > .w-nav-anchor.level_1 .w-nav-title,
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.opened > .w-nav-anchor.level_1 .w-nav-title,
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-item.level_1:hover > .w-nav-anchor.level_1 .w-nav-title,
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-item.level_1.opened > .w-nav-anchor.level_1 .w-nav-title {
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.current-menu-item > .w-nav-anchor.level_1,
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.current-menu-ancestor > .w-nav-anchor.level_1 {
        background: transparent !important;
        color: #ffffff !important;
    }
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.current-menu-item > .w-nav-anchor.level_1 .w-nav-title,
    body.header_hor .w-nav.type_desktop .w-nav-item.level_1.current-menu-ancestor > .w-nav-anchor.level_1 .w-nav-title {
        color: #ffffff !important;
    }

    /* ── 3. Dropdown panels (level 2 + level 3) ──────────────
       Solid white, clean shadow, no bleed-through. The red
       top-accent ties it back to the header bar.
       ─────────────────────────────────────────────────────── */
    body.header_hor .w-nav.type_desktop .w-nav-list.level_2 {
        background: #ffffff !important;
        color: #222222 !important;
        border-radius: 0 0 8px 8px !important;
        border-top: 3px solid #d32323 !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.22), 0 2px 8px rgba(0,0,0,0.10) !important;
        padding: 8px 0 !important;
        overflow: visible !important;
        margin-top: 0 !important;
    }

    /* Sub-item base styling */
    body.header_hor .w-nav.type_desktop .w-nav-list.level_2 .w-nav-anchor {
        font-size: 0.86rem !important;
        color: #333333 !important;
        padding: 0.55em 20px !important;
        border-left: 3px solid transparent !important;
        transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
    }

    /* Sub-item hover */
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-list.level_2 .w-nav-item:hover > .w-nav-anchor,
    body.header_hor .w-nav.type_desktop .w-nav-list.level_2 .w-nav-item.current-menu-item > .w-nav-anchor {
        background: #f5f5f5 !important;
        color: #d32323 !important;
        border-left-color: #d32323 !important;
    }

    /* Level-3 panel (nested sub-menu) */
    body.header_hor .w-nav.type_desktop .w-nav-list.level_3 {
        background: #ffffff !important;
        color: #222222 !important;
        border-radius: 0 8px 8px 0 !important;
        border-top: 3px solid #d32323 !important;
        box-shadow: 4px 8px 24px rgba(0,0,0,0.18) !important;
        padding: 8px 0 !important;
        overflow: visible !important;
    }

    /* Level-3 sub-item base */
    body.header_hor .w-nav.type_desktop .w-nav-list.level_3 .w-nav-anchor {
        font-size: 0.86rem !important;
        color: #333333 !important;
        padding: 0.55em 20px !important;
        border-left: 3px solid transparent !important;
        transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
    }

    /* Level-3 hover */
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-list.level_3 .w-nav-item:hover > .w-nav-anchor {
        background: #f5f5f5 !important;
        color: #d32323 !important;
        border-left-color: #d32323 !important;
    }

    /* Sub-menu arrow indicators (level 2 → 3) keep the default theme arrow */
    body.header_hor .w-nav.type_desktop .w-nav-list.level_2 .w-nav-arrow:before {
        color: #999 !important;
    }
    .no-touch body.header_hor .w-nav.type_desktop .w-nav-list.level_2 .w-nav-item:hover > .w-nav-anchor .w-nav-arrow:before {
        color: #d32323 !important;
    }

    /* ── 4. Top-level dropdown indicator — clean CSS chevron ──
       No circle, no badge, no FontAwesome. Just a slim rotated
       corner that sits beside the label and flips on open.
       ─────────────────────────────────────────────────────── */
    .w-nav.type_desktop .w-nav-anchor.level_1 .w-nav-arrow {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width:  0.75em !important;
        height: 0.75em !important;
        background: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        opacity: 1 !important;
        overflow: visible !important;
        transition: none !important;
    }

    /* The chevron itself */
    .w-nav.type_desktop .w-nav-anchor.level_1 .w-nav-arrow:before {
        content: '' !important;
        font-family: none !important;
        background: none !important;
        background-image: none !important;
        display: block !important;
        width:  0.36em !important;
        height: 0.36em !important;
        border-right:  1.5px solid currentColor !important;
        border-bottom: 1.5px solid currentColor !important;
        border-top:  none !important;
        border-left: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        /* pointing down ˅ */
        transform: rotate(45deg) translate(-1px, -2px) !important;
        transition: transform 0.2s ease, opacity 0.2s ease !important;
        opacity: 0.6 !important;
    }

    /* Flip ˄ on hover / opened */
    .w-nav-item.opened > .w-nav-anchor.level_1 .w-nav-arrow:before,
    .no-touch .w-nav-item:hover > .w-nav-anchor.level_1 .w-nav-arrow:before {
        transform: rotate(225deg) translate(1px, 2px) !important;
        opacity: 1 !important;
    }

    /* Always show for items that have children */
    .menu-item-has-children.level_1 > a .w-nav-arrow {
        visibility: visible !important;
    }
}

/* ==========================================================
   Global Contact Form Submission Feedback Styling
   ========================================================== */
.w-form.for_cform .w-form-message {
    display: none;
    margin-top: 18px !important;
    padding: 16px 22px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}
.w-form.for_cform .w-form-message.type_success {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(26, 125, 58, 0.16) !important;
    border: 1.5px solid #25a850 !important;
    color: #4ade80 !important;
    box-shadow: 0 4px 18px rgba(37, 168, 80, 0.15) !important;
}
.w-form.for_cform .w-form-message.type_success::before {
    content: '✓';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #25a850;
    color: #ffffff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
}
.w-form.for_cform .w-form-message.type_error {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(214, 44, 47, 0.16) !important;
    border: 1.5px solid #d62c2f !important;
    color: #ff8080 !important;
    box-shadow: 0 4px 18px rgba(214, 44, 47, 0.15) !important;
}
.w-form.for_cform .w-form-message.type_error::before {
    content: '✕';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #d62c2f;
    color: #ffffff;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}