/* =============================================================================
   NAVIGATION
   Header, topbar, navbar, mega menu, offcanvas, breadcrumb
   Source: customiser.css
============================================================================= */

/* --- Topbar / header bar ------------------------------------------------- */

.topbar {
    display: block;
    
    background: url(/wp-content/uploads/2025/11/topbar.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.topbar p {
    color: #fff;
    text-align: center;
    padding-top: 8px;
}

.header-inner {
    background: #a2bd94!important;
    height: 188px;
}

.header-inner .topbar {
    display: block;
    height: 60px;
    background: #a2bd94;
    background-repeat: no-repeat;
}

.header-bottom {
    background: url(/wp-content/uploads/2025/11/topbar.png);
    height: 56px;
    margin-bottom: -25px;
    z-index: 9;
    background-size: cover;
}

/* Home page: header must be transparent so the slider (z-index:-9999999 inside
   the header) shows through Bootstrap's bg-body white background.
   Also set position:relative (not sticky) so the 900px slider doesn't permanently
   block the entire viewport — it should scroll away with the page.
   On other pages the nav is compact (no slider) so sticky is fine. */
.home .site-header,
.header-home {
    background: transparent !important;
    /*position: relative !important; BUGGY*/
}

/* --- Sticky / scroll states --------------------------------------------- */

.site-header.header-scrolled {
    box-shadow: none;
}

.site-header.border-bottom {
    border-bottom: none!important;
}

@media (min-width: 992px) {

    .site-header.header-scrolled .header-bottom{
        margin-bottom: 0;
        margin-top: -38px;
        height: 56px;
    }

    .site-header.header-scrolled{
        height: 165px;
    }

     .site-header.header-scrolled nav.navbar.navbar-expand-lg{
        height: unset;
        margin-top: 32px;
     }

     body.home .site-header.header-scrolled nav.navbar.navbar-expand-lg{
        margin-top: 15px;
     }
}

/* --- Navbar base --------------------------------------------------------- */

/* !important-flag: nav has an inline style of margin-top:32px which overrides
   these rules. Review whether these are still needed. */

/*
DISBALED - BUGGY!
.home nav.navbar.navbar-expand-lg {
    margin-top: 52px!important;
    margin-bottom: 60px;
    float: left;
    width: 100%;
}
*/

nav.navbar.navbar-expand-lg {
    margin-top: 55px;
}

.navbar .container {
    position: relative;
}

@media (min-width: 992px) {
    .navbar .navbar-collapse {
        display: flex!important;
        align-items: center!important;
    }
}

/* --- Navbar brand / logo ------------------------------------------------- */

.navbar .navbar-brand {
    transition: padding 0.3s ease, margin 0.3s ease;
}

.navbar.sticky-element-active .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar.element-is-not-sticky .navbar-brand img.custom-logo {
    height: 95px!important;
    width: auto!important;
    max-height: none!important;
    max-width: none!important;
    transition: height 0.3s ease;
}

.navbar.element-is-sticky .navbar-brand img.custom-logo,
.header-inner.header-scrolled .navbar-brand img.custom-logo,
.header-home.header-scrolled .navbar-brand img.custom-logo {
    height: 65px!important;
}

.navbar-brand-center {
    margin: 0 auto;
}

@media (min-width: 992px) {
    .navbar-brand-center {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        z-index: 2;
    }
}

/* Hide the text-only fallback brand link (logo image is used instead) */
a.navbar-brand.fw-bold.text-decoration-none.d-flex.align-items-center.gap-2 {
    display: none!important;
}

/* --- Sticky navbar bg (when scrolled) ------------------------------------ */

.navbar.element-is-sticky {
    background: url(/wp-content/uploads/2025/11/topbar.png);
    background-size: cover !important;
    background-repeat: no-repeat;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 0 !important;
    height: auto !important;
    transition: padding 0.3s ease;
}

/* Shrink nav links and logo when sticky to reduce bar height */
.navbar.element-is-sticky #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    line-height: 28px !important;
    height: 28px !important;
}

.navbar.element-is-sticky .navbar-brand img.custom-logo {
    height: 44px !important;
    transition: height 0.3s ease;
}

.navbar.element-is-sticky .nav-item img {
    width: 28px !important;
    height: 28px !important;
}

/* --- Nav links ----------------------------------------------------------- */

a.nav-link {
    color: #fff;
}

.dropdown-toggle::after {
    display: none!important;
}

li.nav-item.dropdown {
    max-width: 50px!important;
}

li.nav-item.dropdown img {
    max-width: 40px;
}

/* --- Offcanvas ----------------------------------------------------------- */

.offcanvas.offcanvas-end {
    top: 10%;
    right: 0;
    width: var(--bs-offcanvas-width);
    height: 80vh;
    border-radius: 20px 0px 0px 20px;
    box-shadow: 0px 4px 13px #333;
}

/* --- Breadcrumb ---------------------------------------------------------- */

nav.breadcrumb-container {
    display: none;
}

/* --- Mega menu: top-level links ------------------------------------------ */

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    line-height: 40px;
    height: 40px;
    padding: 0px 35px;
    vertical-align: baseline;
    width: auto;
    display: block;
    color: white;
    text-transform: none;
    text-decoration: none;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 0px;
    font-family: inherit;
    font-size:1.1rem;
    font-weight: normal;
    outline: none;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
    border-left: 0;
    box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0);
}

@media (min-width: 992px) {

    /* Hover / focus */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
        color: #fff!important;
        background: url(/wp-content/uploads/2025/11/white-underline.png) no-repeat bottom!important;
        background-size: 100px!important;
    }

    /* Active / current page */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
        color: #fff!important;
        background: url(/wp-content/uploads/2025/11/white-underline.png) no-repeat bottom!important;
        background-size: 100px!important;
        margin-left: 30px!important;
    }


    /* Archive page active state */
    .archive .site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
        color: #fff!important;
        background: url(/wp-content/uploads/2025/11/white-underline.png) no-repeat bottom!important;
        background-size: 100px!important;
        margin-left: 0px!important;
    }

}

/* Toggle-on state */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    background-color: #33333300!important;
    color: white;
    font-weight: normal;
    text-decoration: none;
    border-color: white;
}

/* Inactive items (disabled/muted) */
li#mega-menu-item-2113 {
    margin-top: 44px!important;
}

li#mega-menu-item-2114 {
    margin-top: 44px!important;
}

li#mega-menu-item-2113 a {
    color: #c4c2c2!important;
}

li#mega-menu-item-2114 a {
    color: #c4c2c2!important;
}

/* Menu icon items — extend <a> to cover the icon (see theme.css for the rule) */
/*
JW 08.06.26 - REMOVED
.has-menu-icon {
    background: url(/wp-content/uploads/2026/02/menu.png) left center!important;
    background-size: 30px!important;
    background-repeat: no-repeat!important;
}
*/

/* Site-header specific current item */
.site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    color: #fff!important;
    background: url(/wp-content/uploads/2025/11/white-underline.png) no-repeat bottom!important;
    background-size: 100px!important;
    margin-left: -15px!important;
}

.site-header .navbar li#mega-menu-item-37 a.mega-menu-link {
    margin-left: 0px!important;
    margin-right: 30px!important;
}

/* --- Mega menu: submenu positioning -------------------------------------- */

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
    z-index: 999;
    border-radius: 20px!important;
    border: 0;
    padding: 0px;
    position: absolute;
    left: -10%!important;
    max-width: none;
    padding-left: 10%;
    margin-top: 10px;
    padding-right: 10%;
    padding-top: 5%;
    padding-bottom: 5%;
    max-height: 450px;
    background-color: #ffffff;
}

ul.mega-sub-menu {
    left: 0px!important;
}

/* --- Mega menu: submenu links -------------------------------------------- */

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    color: #555;
    font-family: inherit;
    font-size: 20px;
    text-transform: uppercase;
    text-decoration: none;
    background: url(/wp-content/uploads/2026/03/menu-line.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 190px;
    font-weight: bold;
    text-align: left;
    margin: 0px 0px 20px 0px;
    padding: 20px 0px;
    vertical-align: top;
    display: block;
    border: 0;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
    color: #666;
    font-family: inherit;
    font-size: 16px;
    text-transform: none;
    text-decoration: none;
    font-weight: 600;
    text-align: left;
    margin: 0;
    padding: 0;
    vertical-align: top;
    display: block;
    border: 0;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:focus,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:focus {
    color: #ef95cf;
    font-weight: 600;
    text-decoration: none;
    background-color: transparent;
}

/* --- About links column: match product sub-menu link styles -------------- */
/* .menu-about-links links are direct children of the column ul.mega-sub-menu,
   which would normally pick up the 20px/uppercase heading rule above. Override
   to match the 16px/normal-case product link style instead. */



/* Submenu h2 links (category titles) */
ul.mega-sub-menu li h2 a {
    font-size: 0.6em!important;
    text-decoration: none; /* was: 0 — invalid value fixed */
    color: #000;
    font-weight: 400;
    margin-left: 0px!important;
}

/* Mega item 1234 custom frame shape */
#mega-menu-wrap-primary .mega-menu > li.mega-menu-item-1234.mega-menu-item-open > ul.mega-sub-menu {
    position: relative!important;
    background: #9CAF88!important;
    padding: 22px!important;
    overflow: visible!important;
    z-index: 9999!important;
}

#mega-menu-wrap-primary .mega-menu > li.mega-menu-item-1234.mega-menu-item-open > ul.mega-sub-menu::before {
    content: "";
    position: absolute;
    inset: -10px;
    pointer-events: none;
    z-index: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath d='M20 55 Q85 15 150 35 T280 55 Q295 120 270 150 T280 245 Q210 290 150 270 T20 245 Q5 180 30 150 T20 55 Z' fill='%239CAF88' stroke='%23000000' stroke-width='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        no-repeat center / 100% 100%;
}

#mega-menu-wrap-primary .mega-menu > li.mega-menu-item-1234.mega-menu-item-open > ul.mega-sub-menu::before {
    z-index: 0;
}

#mega-menu-wrap-primary .mega-menu > li.mega-menu-item-1234.mega-menu-item-open > ul.mega-sub-menu > * {
    position: relative;
    z-index: 1;
}

/* Toggle-on base state */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    background-color: #33333300!important;
    color: white;
    font-weight: normal;
    text-decoration: none;
    border-color: white;
}

img.mega-placeholder {
    max-height: 235px;
    margin-top: -14px;
}

/* Disable slider interactions when mega menu is closed */
li.mega-menu-item .wcpscwc-product-slider-wrap {
    pointer-events: none;
}
li.mega-menu-item.mega-toggle-on .wcpscwc-product-slider-wrap {
    pointer-events: auto;
}

/* Specific item overrides */
ul li#mega-menu-item-31 .wcpscwc-product-title a {
    margin-left: 0px!important;
}

ul li#mega-menu-item-31 ul li a {
    margin-left: 0px!important;
}

li#mega-menu-31-0-3 ul.mega-sub-menu li a {
    margin-left: 0!important;
}

/* --- Mega menu: menu item icons ------------------------------------------ */

.menu-item-icon {
    display: inline-flex;
    margin-right: 8px;
    vertical-align: middle;
}

.menu-item-icon img {
    width: 18px;
    height: auto;
    display: block;
}

/* --- Footer menu ---------------------------------------------------- */

#menu-footer-menu{
    text-align: center;
}

#menu-footer-menu li{
    display: inline-block;
}

#menu-footer-menu li > a{

    line-height: 40px;
    height: 40px;
    padding: 0px 0 0 15px;
    vertical-align: baseline;
    width: auto;
    display: block;
    color: white;
    text-transform: none;
    text-decoration: none;
    text-align: left;
    background-color: transparent;
    border: 0;
    border-radius: 0px;
    font-family: inherit;
    font-size: 18px;
    font-weight: 300;
    outline: none;
}

#menu-footer-menu li > a:after{
    content: "|";
    color: white;
    display: inline-block;
    padding-left: 20px;
}

#menu-footer-menu li:last-child a:after{
    padding: 0;
    content: "";
}

#menu-footer-menu li > a:hover,
#menu-footer-menu li > a:focus{
    background: transparent;
    color: white;
    font-weight: 300;
    text-decoration: none;
    border-color: white;
}

/*
REMOVED FOOTER MEGA MENU - DOES NOT NEED A MEGA MENU
#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item > a.mega-menu-link {
    line-height: 40px;
    height: 40px;
    padding: 0px 35px;
    vertical-align: baseline;
    width: auto;
    display: block;
    color: white;
    text-transform: none;
    text-decoration: none;
    text-align: left;
    background-color: transparent;
    border: 0;
    border-radius: 0px;
    font-family: inherit;
    font-size: 18px;
    font-weight: 300;
    outline: none;
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item > a.mega-menu-link:focus {
    background: transparent;
    color: white;
    font-weight: 300;
    text-decoration: none;
    border-color: white;
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    background: none!important;
}
*/

/* --- Slider (home hero) -------------------------------------------------
   The nav overlays the slider via z-index. The header is position:relative on
   home (see .home .site-header above), so the slider scrolls away naturally.
   Negative z-index is no longer needed — slider renders in normal flow below
   the sticky nav (which has its own z-index via .sticky class from JS). */

.sliderhome {
    margin-top: -130px;
    position: relative;
    z-index: 0;
}

/* --- FLAGGED: .position-sticky override ---------------------------------- */
/* BUG: This rule was in customiser.css and overrides Bootstrap's .position-sticky
   utility to position:relative, which breaks the sticky header entirely.
   Commented out — investigate before re-enabling. */
/*
.position-sticky {
    position: -webkit-sticky!important;
    position: relative!important;
}
*/

#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner,
#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after{
    background-color: #ffffff!important;
}

/* Force uppercase on navigation items */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link{
    text-transform: uppercase;
}


/*
*********************************
MEDIA QUERIES
*********************************
*/

@media only screen and (min-width: 992px) and (max-width: 1399px) {

    .navbar.element-is-not-sticky .navbar-brand img.custom-logo{
        height: 48px !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link{
        padding: 0 15px;
    }

}

@media only screen and (max-width: 991px) {
    
    #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary {
        padding-top: 35px;
        padding-bottom: 15px;
        background: #a2bd94!important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu{
        background: transparent;
    }

    .navbar.element-is-not-sticky .navbar-brand img.custom-logo{
        height: 32px !important;
    }

    .header-bottom{
        height: 26px;
    }
	

}

@media (max-width: 768px) {

    .tw-top-banner__text{
        max-width: 85%;
    }

    .header-bottom{
        height: 26px;
    }

    .sliderhome {
        margin-top: -70px;
    }
}


/* =============================================================================
   MOBILE HEADER  (<992px / below Bootstrap lg breakpoint)
   Layout: [hamburger] [logo — absolute center] [account | basket | search]
============================================================================= */
@media (max-width: 991px) {

    /* Let header height grow naturally — was fixed 188px which clipped the logo.
       overflow:visible ensures the mega menu dropdown isn't clipped by the header. */
    .header-inner {
        height: auto !important;
        overflow: visible !important;
    }

    /* Topbar: collapse smoothly on scroll via max-height transition.
       max-height must be >= the tallest the topbar will ever be.
       On mobile the delivery notice wraps (~80px) + pink welcome banner (~50px) = ~130px.
       Set to 200px to give plenty of headroom.
       Use max-height rather than height so the transition works with height:auto content. */
    .header-inner .topbar,
    .header-home .topbar {
        height: auto !important;   /* override the base 60px fixed height */
        max-height: 200px;
        overflow: hidden !important;
        transition: max-height 0.35s ease;
        min-height: 0 !important;
    }

    /* When scrolled: collapse topbar to zero, revealing only the compact nav row */
    .header-inner.header-scrolled .topbar,
    .header-home.header-scrolled .topbar {
        max-height: 0 !important;
        padding: 0 !important;
    }

    /* Remove large top/bottom margins; keep nav tight to the topbar */
    nav.navbar.navbar-expand-lg {
        margin-top: 4px !important;
        margin-bottom: 0px !important;
        padding-top: 4px !important;
        padding-bottom: 0px !important;
    }

    /*
    body:not(.home) nav.navbar.navbar-expand-lg{
        margin-top: 15px!important;
    }
    */

    body:not(.home) header.header-scrolled nav.navbar.navbar-expand-lg{
        margin-top: 15px!important;
    }

    /* Logo: truly centered regardless of icon widths on either side */
    .d-lg-none .navbar-brand-center {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 2;
        margin: 0 !important;
        pointer-events: auto;
    }

    /* Smaller logo on mobile (44px) — desktop is 95px */
    .d-lg-none .navbar-brand-center img.custom-logo {
        height: 44px !important;
        width: auto !important;
        max-height: none !important;
        max-width: none !important;
        transition: height 0.3s ease;
    }

    /* Shrink further when header has scrolled (header-scrolled class added by theme.js) */
    .header-scrolled .d-lg-none .navbar-brand-center img.custom-logo {
        height: 32px !important;
    }

    /* Keep mega-menu toggle and icons above the absolute-positioned logo */
    .d-lg-none #mega-menu-wrap-primary,
    .d-lg-none .navbar-nav {
        position: relative;
        z-index: 3;
    }

    /* Bootstrap sets navbar-nav to flex-direction:column below lg —
       override to row so account / basket / search sit side-by-side */
    .d-lg-none .navbar-nav {
        flex-direction: row !important;
        align-items: center !important;
        margin-left: auto !important;
    }

    /* Icon sizing — match account.png / basket.png visual weight */
    .d-lg-none .navbar-nav .nav-item img {
        width: 38px !important;
        height: 38px !important;
        max-width: none !important;
    }

    /* Search icon: white circle to match account.png / basket.png style */
    .d-lg-none .site-search a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fff;
        border-radius: 50%;
        width: 38px;
        height: 38px;
        padding: 0 !important;
        line-height: 1;
    }

    .d-lg-none .site-search svg {
        width: 22px;
        height: 22px;
    }

    /* Cart badge positioning stays correct at smaller icon size */
    .d-lg-none .cart-count {
        font-size: 0.6rem;
        min-width: 1.1em;
        top:8px!important;
    }
}

/* =============================================================================
   MOBILE MEGA MENU  (<992px)
   Fix: z-index so the panel appears above page content.
   Fix: font colour — our global rule sets white, invisible on MMM's light panel.
============================================================================= */
@media (max-width: 991px) {

    /* Ensure the mobile nav panel sits above the intro/hero sections */
    #mega-menu-wrap-primary {
        position: relative;
        z-index: 9999 !important;
    }

    /* Hamburger toggle (button 2): must sit above the MMM backdrop overlay so
       tapping it again closes the panel. MMM's panel/backdrop z-index is ~9999999999;
       we match it so the button is never buried underneath. */
    #mega-menu-wrap-primary .mega-menu-toggle {
        position: relative;
        z-index: 9999999999 !important;
    }

    /* MMM mobile slide-in panel: white background */
    #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        background-color: #fff !important;
    }

    /* Hide MMM's own close (×) button (button 1) — the hamburger toggle closes the
       panel on a second tap, so a separate × is redundant and visually cluttered.
       NOTE: also declared outside this media query (below) to guarantee it applies
       regardless of how the browser resolves the breakpoint. */
    

    /*
    #mega-menu-wrap-primary button.mega-close {
        display: none !important;
    }
    */

    /* Top-level links: consistent padding + dark colour on white panel */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        color: #fff !important;
        background: transparent !important;
        padding: 12px 20px !important;
        line-height: 1.4 !important;
        height: auto !important;
    }

    /* Sub-menu Padding */
    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item{
        padding: 0 5px;
    }

    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu.mega-menu-item.mega-toggle-on ul.mega-sub-menu{
        margin: 0;
        padding: 0;
    }

    /* Hover/focus state on mobile */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
        color: #ffffff !important;
        background: transparent !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
        color: #ffffff!important;
        padding: 5px 0;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
        color: #ffffff!important;
    }

    /* Active/current item — keep visible on mobile.
       The desktop rule at line ~312 uses `.site-header` prefix giving it specificity (2,4,2).
       Adding `.d-lg-none` here raises this to (2,5,2) so it conclusively wins and removes
       the white-underline background and negative margin-left that show incorrectly on mobile. */
    .d-lg-none #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    .d-lg-none #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    .d-lg-none #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
        color: #ffffff !important;
        background: transparent !important;
        margin-left: 0 !important;
    }

    /* Submenu panel: override the desktop position:absolute so it flows in the
       document on mobile instead of overlaying content below the nav bar. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin-top: 0 !important;
        z-index: 9999 !important;
    }

    .pw-cat-list__show-more{
        color: #ffffff;
		font-size: 1.1em;
    }
} 

/* ── WP admin bar — move to bottom ──────────────────────────────────────────
   WordPress fixes #wpadminbar to the top and adds html{margin-top:32px} to
   compensate. We flip it to the bottom and reset the top margin.
   WP also outputs @media (max-width:782px){ html{margin-top:46px!important} }
   so we explicitly override that breakpoint too. */
#wpadminbar {
    top: auto !important;
    bottom: 0 !important;
}
html,
body {
    margin-top: 0 !important;
}
html {
    margin-bottom: 32px !important;
}
@media screen and (max-width: 782px) {
    html,
    body {
        margin-top: 0 !important;
    }
}

/* Hide MMM's close (×) button unconditionally — it lives inside .d-lg-none so it
   only ever renders on mobile. Declaring outside the media query guarantees it wins
   regardless of any browser cache serving a partial rule-set. */

/*
#mega-menu-wrap-primary button.mega-close,
#mega-menu-wrap-footer button.mega-close {
    display: none !important;
    visibility: hidden !important;
}
*/

/*
Remove pointer events on dead links
*/

ul.mega-sub-menu > li > a.mega-menu-link[href="#"]{
    pointer-events: none !important;
    cursor: default !important;
}

@media(max-width: 991px){

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item{
        margin-top: 10px!important;
        margin-bottom: 10px!important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link{
        font-size: 1.3rem!important;
        text-transform: uppercase;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover{
        background-color:#a2bd94;
        color: #ffffff;
        font-size: 16px;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item{
        padding:5px 0 5px 12px;
        background-color:#a2bd94;
    }

    .mega-close{
        right: 10px!important;
        top:10px!important;
    }

    .mega-close::before{
        font-size: 30px!important;
    }

}