/* 
===========================================
Minimalist Journeys - Header & Footer Menu Styles
Applies to: Mobile and desktop views of the main navigation and footer
Purpose: Improves usability and visual consistency of the site header, mobile menus, and footer
Last updated: 1 June 2025

===========================================
*/

/* ---------------------------------
   Header Styling
---------------------------------- */
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul ul ul {
    max-height: 20rem !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
}
/* 
Moves the hamburger icon slightly downward so it's visually centred in the header. Useful for mobile navigation alignment.
*/
body .et_pb_module .mobile_menu_bar:before {
    top: 10px;
}
.global-header .et_pb_module .mobile_menu_bar:before {
    top: 10px !important;
}


/* Change hamburger icon to X when mobile menu is open */
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,

.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
    content: "\4d";
}


/* 
Ensures the plus/minus toggle icons on mobile dropdowns are in the right place.
This makes it easier for users to open submenus without layout shifting.
*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
    width: 44px;
    height: 100%;
    padding: 0px !important;
    max-height: 44px;
    border: none;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 999;
    background-color: transparent;
}


/* 
Sets up parent menu items with position: relative so that toggle buttons and
submenus appear in the correct spot next to their labels.
*/
ul.et_mobile_menu > li.menu-item-has-children,
ul.et_mobile_menu > li.page_item_has_children,
ul.et_mobile_menu > li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu > li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu > li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu > li.menu-item-has-children .sub-menu li.menu-item-has-children {
    position: relative;
}


/* Removes background colour from mobile dropdown parent items */
.et_mobile_menu .menu-item-has-children > a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children > a {
    background-color: transparent;
}


/* Makes sure toggle buttons appear clearly and are centred */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
    text-align: center;
    opacity: 1;
}


/* Show "+" icon when the submenu is closed */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
    top: 10px;
    position: relative;
    font-family: "ETModules";
    content: "\33";
    color: #f64658 !important;
    background: transparent !important;
    border-radius: 50%;
    padding: 3px;
}


/* Show "–" icon when the submenu is open */
ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle::after {
    content: "\32";
}


/* Adds a small triangle pointer at the top of dropdown menus */
.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
    position: absolute;
    right: 5%;
    margin-left: -20px;
    top: -14px;
    width: 0;
    height: 0;
    content: "";
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #ffffff;
}


/* Adjusts the hamburger icon's spacing */
.mobile_menu_bar {
    position: relative;
    display: block;
    bottom: 10px;
    line-height: 0;
}


/* Applies white background and rounded corners to mobile dropdown menu */
.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
    background-color: #ffffff !important;
    border-radius: 10px;
}


/* ---------------------------------
   Header Menu
---------------------------------- */


/* 
Fixes a layout bug where third-level dropdown menus (like Country > Region > City) were causing a horizontal scrollbar on desktop. This ensures wrapping and width limits.
*/
.et_pb_menu .nav li ul ul ul {
    max-height: 20rem;
    overflow-y: auto;
    overflow-x: hidden !important;
    white-space: normal !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* Ensure third-level submenu links wrap cleanly and don't overflow */
.et_pb_menu .nav li ul ul ul li a {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    display: block;
    box-sizing: border-box;
    white-space: normal;
}


/* Prevent clipping or scroll bars in menu containers on desktop */
.et_pb_menu_0_tb_header.et_pb_menu,
.et_pb_menu_0_tb_header.et_pb_menu .et_pb_menu_inner {
    overflow: visible !important;
}

/* Scrollbar styles for consistency with the site design */
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul ul ul::-webkit-scrollbar {
    width: 6px;
}

.et_pb_menu_0_tb_header.et_pb_menu .nav li ul ul ul::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.et_pb_menu_0_tb_header.et_pb_menu .nav li ul ul ul::-webkit-scrollbar-thumb {
    background: #888;
}

.et_pb_menu_0_tb_header.et_pb_menu .nav li ul ul ul::-webkit-scrollbar-thumb:hover {
    background: #555;
}


/* ---------------------------------
   Footer Row Vertical Alignment
   Last updated: 1 June 2025
---------------------------------- */


/* Ensures vertical centring of all columns in the footer row */
.footer-row-align {
    display: flex !important;
    align-items: center !important;
}


/* If using mobile stacking, retain flex behaviour on desktop only */
@media (max-width: 768px) {
    .footer-row-align {
        flex-direction: column !important;
        align-items: center !important;
    }
}


/* Vertically centre the social media icons column */
.footer-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* footer style css */
.et_pb_row_0_tb_footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}

@media (max-width: 768px) {
     .et_pb_row_0_tb_footer {
        flex-direction: column;
        align-items: center;
        gap:0px;
    }
    .et_pb_row_0_tb_footer .et_pb_column_0_tb_footer{
        justify-content: center !important;
        margin-bottom: 0 !important;
    }
    .et_pb_row_0_tb_footer .custom-links, .et_pb_row_0_tb_footer .greengeeks-icons {
        padding-left: 0;
    }

    .et_pb_row_0_tb_footer .footer-socials {
        margin-bottom: 0 !important;
    }
}
.woocommerce-shop .global-header .et_pb_row_0_tb_header.row-wrapper{
    max-width: 1160px !important;
    width: 100% !important;
}