<style id="firstchoice-mobile-responsive-v23">
@media (max-width: 767px) {
    html, body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body, #page, .site, #maincontent, .page-main, .columns, .column.main, .content-area {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #maincontent img, .page-main img, .content-area img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Header ----------------------------------------------------- */
    #header, .fcmr-header-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .fcmr-header-row {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 4px !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    .fcmr-header-row > a:first-of-type {
        flex: 1 1 auto !important;
        min-width: 105px !important;
        max-width: 180px !important;
        overflow: visible !important;
    }

    .fcmr-header-row > a:first-of-type img {
        width: 100% !important;
        max-width: 180px !important;
        height: auto !important;
        max-height: 66px !important;
        object-fit: contain !important;
    }

    .fcmr-header-row > *:not(a:first-of-type) {
        flex-shrink: 0 !important;
    }

    .fcmr-header-row > [x-ref="searchContainerDesktop"],
    #header [x-ref="searchContainerDesktop"] {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .fcmr-header-row svg {
        max-width: 23px !important;
        max-height: 23px !important;
    }

    #currency-switcher #currency-menu {
        padding: 6px 3px !important;
        gap: 1px !important;
    }

    #currency-switcher #currency-menu > span {
        margin-left: 2px !important;
        margin-right: 0 !important;
        font-size: 14px !important;
    }

    #currency-switcher #currency-menu > svg {
        width: 14px !important;
        height: 14px !important;
    }

    #customer-menu, #menu-cart-icon {
        padding: 6px !important;
    }

    #fcmr-mobile-menu-toggle {
        display: inline-flex !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        padding: 6px !important;
        margin: 0 !important;
        border: 1px solid transparent !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: #111 !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: none !important;
    }

    #fcmr-mobile-menu-toggle[aria-expanded="true"] {
        border-color: #cfc9c4 !important;
        background: #fff !important;
    }

    #fcmr-mobile-menu-toggle svg {
        width: 23px !important;
        height: 23px !important;
    }

    /* Real mobile Quicksearch row below logo/icons. */
    #header [x-ref="searchContainerMobile"].fcmr-mobile-search-host {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 12px 12px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .fcmr-mobile-search-form {
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #d8d3cf !important;
        border-radius: 5px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .fcmr-mobile-search-input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #202020 !important;
        font-size: 16px !important;
        line-height: 40px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .fcmr-mobile-search-button {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 42px !important;
        margin: -1px -1px -1px 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 5px 5px 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #7a1428 !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    .fcmr-mobile-search-button svg {
        width: 21px !important;
        height: 21px !important;
        stroke: currentColor !important;
    }

    /* HTFW-style mobile menu with working nested subcategory panels. */
    #fcmr-mobile-menu-drawer {
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        max-height: calc(100vh - 150px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        background: #fff !important;
        border-top: 1px solid #ddd7d2 !important;
        border-bottom: 1px solid #ddd7d2 !important;
        box-sizing: border-box !important;
        z-index: 100 !important;
    }

    #fcmr-mobile-menu-drawer.is-open {
        display: block !important;
    }

    .fcmr-mobile-menu-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }

    .fcmr-mobile-submenu-head {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 50px !important;
        padding: 7px 12px !important;
        border-bottom: 1px solid #ddd7d2 !important;
        background: #f8f6f4 !important;
        box-sizing: border-box !important;
    }

    .fcmr-mobile-back {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        border: 0 !important;
        background: transparent !important;
        color: #222 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .fcmr-mobile-submenu-title {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        text-align: center !important;
        color: #181818 !important;
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
    }

    .fcmr-mobile-view-all {
        color: #7a1428 !important;
        text-decoration: none !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    .fcmr-mobile-menu-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 12px 8px !important;
    }

    .fcmr-mobile-menu-list li {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #e5e0dc !important;
    }

    .fcmr-mobile-menu-link,
    .fcmr-mobile-menu-parent {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 10px 2px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #171717 !important;
        text-align: left !important;
        text-decoration: none !important;
        font-family: inherit !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .fcmr-mobile-menu-parent:active,
    .fcmr-mobile-menu-parent:focus-visible,
    .fcmr-mobile-menu-link:focus-visible {
        background: #f6f3f1 !important;
        outline: 2px solid #7a1428 !important;
        outline-offset: -2px !important;
    }

    .fcmr-mobile-menu-label {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }

    .fcmr-mobile-menu-chevron {
        flex: 0 0 auto !important;
        color: #666 !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
    }

    .fcmr-mobile-menu-secondary {
        padding: 10px 14px 16px !important;
        background: #fff !important;
        border-top: 8px solid #f3efec !important;
    }

    .fcmr-mobile-menu-secondary a {
        display: block !important;
        padding: 10px 0 !important;
        color: #222 !important;
        text-decoration: none !important;
        font-size: 15px !important;
    }

    /* Browse controls -------------------------------------------- */
    .fcmr-browse-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .fcmr-browse-select, .fcmr-browse-select select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Product carousels: exactly two usable cards in the viewport. */
    #maincontent .fcmr-horizontal-scroller,
    #maincontent .fcmr-product-strip {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scroll-padding-left: 24px !important;
        box-sizing: border-box !important;
    }

    #maincontent .fcmr-product-strip > .fcmr-product-card-shell {
        flex: 0 0 calc((100vw - 60px) / 2) !important;
        width: calc((100vw - 60px) / 2) !important;
        min-width: calc((100vw - 60px) / 2) !important;
        max-width: calc((100vw - 60px) / 2) !important;
        box-sizing: border-box !important;
    }

    #maincontent .fcmr-product-card-shell .product-item,
    #maincontent .fcmr-product-card-shell .product-item-photo,
    #maincontent .fcmr-product-card-shell .product-info,
    #maincontent .product-item,
    #maincontent .product-item-photo,
    #maincontent .product-info {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #maincontent .fcmr-product-card-shell .product-item-photo {
        min-height: 180px !important;
        max-height: 220px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    #maincontent .fcmr-product-card-shell .product-image-photo {
        width: 100% !important;
        max-width: 145px !important;
        height: 195px !important;
        max-height: 195px !important;
        object-fit: contain !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #maincontent .fcmr-product-card-shell .product-info {
        font-size: 14px !important;
        line-height: 1.26 !important;
    }

    #maincontent .fcmr-product-card-shell button,
    #maincontent .fcmr-product-card-shell .btn,
    #maincontent .fcmr-product-card-shell .button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 42px !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Hide only the fixed/sticky newsletter teaser that covered cards. */
    .fcmr-newsletter-sticky, .fcmr-newsletter-button {
        display: none !important;
    }

    /* Footer ----------------------------------------------------- */
    .page-footer, footer {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Retail store block was wider than the phone in v2.1. */
    .page-footer a[title="Visit Our Retail Store"] > div.flex,
    footer a[title="Visit Our Retail Store"] > div.flex {
        display: grid !important;
        grid-template-columns: minmax(0, 145px) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .page-footer a[title="Visit Our Retail Store"] img,
    footer a[title="Visit Our Retail Store"] img {
        width: 145px !important;
        max-width: 145px !important;
        height: auto !important;
        margin: 0 !important;
        object-fit: contain !important;
        align-self: start !important;
    }

    .page-footer a[title="Visit Our Retail Store"] address,
    footer a[title="Visit Our Retail Store"] address {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    /* Force the saved footer sections to behave as real accordions. */
    .fcmr-footer-section > .fcmr-footer-toggle {
        cursor: pointer !important;
        min-height: 52px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        user-select: none !important;
    }

    .fcmr-footer-section [x-ref="toggleIcon"] {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        transition: transform .2s ease !important;
    }

    .fcmr-footer-section[data-fcmr-open="true"] [x-ref="toggleIcon"] {
        transform: rotate(180deg) !important;
    }

    .fcmr-footer-section:not([data-fcmr-open="true"]) > .fcmr-footer-content {
        display: none !important;
    }

    .fcmr-footer-section[data-fcmr-open="true"] > .fcmr-footer-content {
        display: block !important;
    }

    .page-footer .container,
    footer .container {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
</style>
<script id="firstchoice-mobile-responsive-helper-v23">
(function () {
    'use strict';

    function normaliseText(value) {
        return (value || '').replace(/\s+/g, ' ').trim();
    }

    function isPhone() {
        return window.matchMedia && window.matchMedia('(max-width: 767px)').matches;
    }

    function tagHeader() {
        var header = document.getElementById('header');
        if (!header) return;

        var row = null;
        try { row = header.querySelector(':scope > .container'); }
        catch (e) { row = header.querySelector('.container'); }
        if (row) row.classList.add('fcmr-header-row');
    }

    function buildMobileSearch() {
        var header = document.getElementById('header');
        if (!header || !isPhone()) return;

        var desktop = header.querySelector('[x-ref="searchContainerDesktop"]');
        if (desktop) desktop.setAttribute('aria-hidden', 'true');

        var host = header.querySelector('[x-ref="searchContainerMobile"]');
        if (!host) return;

        host.classList.add('fcmr-mobile-search-host');
        host.setAttribute('aria-hidden', 'false');

        if (host.querySelector('.fcmr-mobile-search-form')) return;

        var form = document.createElement('form');
        form.className = 'fcmr-mobile-search-form';
        form.method = 'get';
        form.action = window.location.origin + '/';
        form.setAttribute('role', 'search');
        form.setAttribute('aria-label', 'Product search');

        var input = document.createElement('input');
        input.className = 'fcmr-mobile-search-input';
        input.type = 'search';
        input.name = 's';
        input.placeholder = 'Quicksearch...';
        input.autocomplete = 'off';
        input.setAttribute('aria-label', 'Quicksearch');

        var postType = document.createElement('input');
        postType.type = 'hidden';
        postType.name = 'post_type';
        postType.value = 'product';

        var button = document.createElement('button');
        button.className = 'fcmr-mobile-search-button';
        button.type = 'submit';
        button.setAttribute('aria-label', 'Search');
        button.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.35-4.35"></path></svg>';

        form.appendChild(input);
        form.appendChild(postType);
        form.appendChild(button);
        host.appendChild(form);
    }

    function mobileMenuIcon(open) {
        if (open) {
            return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"></path></svg>';
        }
        return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>';
    }

    function buildMobileMenu() {
        var header = document.getElementById('header');
        if (!header || !isPhone()) return;

        var row = header.querySelector('.fcmr-header-row');
        var cart = header.querySelector('#menu-cart-icon');
        var searchHost = header.querySelector('[x-ref="searchContainerMobile"]');
        if (!row || !cart || !searchHost) return;

        function categoryUrl(slug) {
            return window.location.origin + '/product-category/' + slug + '/';
        }

        function latestCategoryUrl(slug) {
            return window.location.origin + '/shop/?orderby=date&product_cat=' + encodeURIComponent(slug);
        }

        function desktopHref(label, fallback) {
            var links = header.querySelectorAll('nav[aria-label="Main menu"] > ul > li > a');
            for (var i = 0; i < links.length; i++) {
                var sourceLabel = normaliseText(links[i].getAttribute('title') || links[i].textContent);
                if (sourceLabel === label) return links[i].getAttribute('href') || fallback;
            }
            return fallback;
        }

        var menuData = [
            {
                label: 'New Arrivals',
                href: desktopHref('New Arrivals', window.location.origin + '/shop/?orderby=date'),
                children: [
                    {
                        label: 'New Whisky',
                        href: latestCategoryUrl('whisky'),
                        children: [
                            { label: 'New Scotch Whisky', href: latestCategoryUrl('scotch-whisky') },
                            { label: 'New Irish Whiskey', href: latestCategoryUrl('irish-whiskey') },
                            { label: 'New World Whisky', href: latestCategoryUrl('world-whisky') },
                            { label: 'New Japanese Whisky', href: latestCategoryUrl('japanese-whisky') },
                            { label: 'New Bourbon / American Whiskey', href: latestCategoryUrl('american-whiskey') },
                            { label: 'New Old & Rare Whisky Releases', href: latestCategoryUrl('old-rare') }
                        ]
                    },
                    {
                        label: 'New Spirits',
                        href: latestCategoryUrl('spirits'),
                        children: [
                            { label: 'New Rum', href: latestCategoryUrl('rum-spirits') },
                            { label: 'New Tequila', href: latestCategoryUrl('tequila-spirits') },
                            { label: 'New Cognac / Brandy', href: latestCategoryUrl('brandy') },
                            { label: 'New Gin', href: latestCategoryUrl('gin-spirits') },
                            { label: 'New Liqueurs', href: latestCategoryUrl('liqueur') },
                            { label: 'New Vodka', href: latestCategoryUrl('vodka-spirits') },
                            { label: 'New Champagne & Wine', href: latestCategoryUrl('wine') }
                        ]
                    }
                ]
            },
            {
                label: 'Scotch Whisky',
                href: desktopHref('Scotch Whisky', categoryUrl('scotch-whisky')),
                children: [
                    { label: 'Single Malt Scotch Whisky', href: categoryUrl('single-malt-scotch-whisky') },
                    { label: 'Single Cask Whisky', href: categoryUrl('single-cask-whisky') },
                    { label: 'Peated Whisky', href: categoryUrl('peated-whisky') },
                    { label: 'Blended Whisky', href: categoryUrl('blended-whisky') },
                    { label: 'Single Grain Scotch Whisky', href: categoryUrl('single-grain-scotch-whisky') },
                    { label: 'Silent Distilleries', href: categoryUrl('silent-distilleries') },
                    {
                        label: 'Regions',
                        href: categoryUrl('regions'),
                        children: [
                            { label: 'Campbeltown', href: categoryUrl('campbeltown-regions') },
                            { label: 'Highlands', href: categoryUrl('highlands-regions') },
                            { label: 'Islands', href: categoryUrl('islands-regions') },
                            { label: 'Islay', href: categoryUrl('islay-regions') },
                            { label: 'Lowlands', href: categoryUrl('lowlands-regions') },
                            { label: 'Speyside', href: categoryUrl('speyside-regions') }
                        ]
                    }
                ]
            },
            {
                label: 'World Whisky',
                href: desktopHref('World Whisky', categoryUrl('world-whisky')),
                children: [
                    { label: 'American Whiskey', href: categoryUrl('american-whiskey') },
                    { label: 'Irish Whiskey', href: categoryUrl('irish-whiskey') },
                    { label: 'Japanese Whisky', href: categoryUrl('japanese-whisky') },
                    { label: 'Canadian Whisky', href: categoryUrl('canadian-whisky') },
                    { label: 'English Whisky', href: categoryUrl('english-whisky') },
                    { label: 'Indian Whisky', href: categoryUrl('indian-whisky') },
                    { label: 'Australian Whisky', href: categoryUrl('australian-whisky') },
                    { label: 'French Whisky', href: categoryUrl('french-whisky') },
                    { label: 'Welsh Whisky', href: categoryUrl('welsh-whisky') },
                    { label: 'Swedish Whisky', href: categoryUrl('swedish-whisky') },
                    { label: 'Taiwanese Whisky', href: categoryUrl('taiwanese-whisky') },
                    { label: 'New Zealand Whisky', href: categoryUrl('new-zealand-whisky') }
                ]
            },
            {
                label: 'Old & Rare',
                href: desktopHref('Old & Rare', categoryUrl('old-rare')),
                children: [
                    { label: 'Old & Rare Scotch Whisky', href: categoryUrl('old-rare-scotch-whisky') },
                    { label: 'Silent Distilleries', href: categoryUrl('silent-distilleries-old-rare') },
                    { label: 'Old & Rare Japanese Whisky', href: categoryUrl('japanese-whisky-old-rare') },
                    { label: 'Old & Rare American Whiskey', href: categoryUrl('old-rare-american-whiskey') },
                    { label: 'Old & Rare World Whisky', href: categoryUrl('old-rare-world-whisky') },
                    { label: 'Brandy / Cognac', href: categoryUrl('brandy-cognac') },
                    { label: 'Rum', href: categoryUrl('rum') },
                    { label: 'Old & Rare Miniatures', href: categoryUrl('old-rare-miniatures') },
                    { label: '18 Year Old', href: categoryUrl('18-year-old') },
                    { label: '21 Year Old', href: categoryUrl('21-year-old') },
                    { label: '30 - 40 Year Old', href: categoryUrl('30-40-year-old') },
                    { label: '40 - 50 Year Old', href: categoryUrl('40-50-year-old') },
                    { label: '50+ Year Old', href: categoryUrl('50-year-old') }
                ]
            },
            {
                label: 'Spirits',
                href: desktopHref('Spirits', categoryUrl('spirits')),
                children: [
                    { label: 'Gin', href: categoryUrl('gin-spirits') },
                    { label: 'Rum', href: categoryUrl('rum-spirits') },
                    { label: 'Tequila', href: categoryUrl('tequila-spirits') },
                    { label: 'Vodka', href: categoryUrl('vodka-spirits') },
                    { label: 'Brandy', href: categoryUrl('brandy') },
                    { label: 'Liqueur', href: categoryUrl('liqueur') },
                    { label: 'Other Spirits', href: categoryUrl('other-spirits-spirits') },
                    { label: '0% Alcohol Free Spirits', href: categoryUrl('0-alcohol-free-spirits') },
                    { label: 'Beer & Cider', href: categoryUrl('beer-cider') },
                    { label: 'Bitters & Aperitifs', href: categoryUrl('bitters-aperitifs') },
                    { label: 'Ready To Drink', href: categoryUrl('ready-to-drink-spirits') },
                    { label: 'Whisky Liqueurs', href: categoryUrl('whisky-liqueurs-spirits') }
                ]
            },
            {
                label: 'Champagne & Wine',
                href: desktopHref('Champagne & Wine', categoryUrl('wine')),
                children: [
                    { label: 'Champagne', href: categoryUrl('champagne-wine-2') },
                    { label: 'Port', href: categoryUrl('port') },
                    { label: 'Sherry', href: categoryUrl('sherry') },
                    { label: 'Sparkling Wine', href: categoryUrl('sparkling-wine') }
                ]
            },
            {
                label: 'Special Offers',
                href: desktopHref('Special Offers', window.location.origin + '/shop/?orderby=popularity')
            },
            {
                label: 'Glassware',
                href: desktopHref('Glassware', categoryUrl('glassware-accessories')),
                children: [
                    { label: 'Tasting Glasses', href: categoryUrl('tasting-glasses') },
                    { label: 'Glencairn Glassware', href: categoryUrl('glencairn-glassware') },
                    { label: 'Decanters', href: categoryUrl('decanters') },
                    { label: 'Cibi Blade Runner Collection', href: categoryUrl('cibi-blade-runner-collection') }
                ]
            },
            {
                label: 'Gift Ideas',
                href: desktopHref('Gift Ideas', categoryUrl('gift-ideas')),
                children: [
                    { label: 'Tasting Sets', href: categoryUrl('tasting-sets') },
                    { label: 'Gift Vouchers', href: categoryUrl('gift-vouchers') }
                ]
            },
            {
                label: 'Advent Calendars',
                href: desktopHref('Advent Calendars', categoryUrl('advent-calendars-2')),
                children: [
                    { label: '12 Day Calendars', href: categoryUrl('12-day-calendars-advent-calendars-2') },
                    { label: '24 & 25 Day Calendars', href: categoryUrl('24-25-day-calendars') },
                    { label: 'Whisky Calendars', href: categoryUrl('whisky-calendars') },
                    { label: 'Gin Calendars', href: categoryUrl('gin-calendars') },
                    { label: 'Rum Calendars', href: categoryUrl('rum-calendars') }
                ]
            }
        ];

        var button = document.getElementById('fcmr-mobile-menu-toggle');
        var drawer = document.getElementById('fcmr-mobile-menu-drawer');

        if (!drawer) {
            drawer = document.createElement('nav');
            drawer.id = 'fcmr-mobile-menu-drawer';
            drawer.setAttribute('aria-label', 'Mobile menu');
            drawer.innerHTML = '<div class="fcmr-mobile-menu-panel"></div>';

            if (searchHost.parentNode) {
                searchHost.parentNode.insertBefore(drawer, searchHost.nextSibling);
            }
        }

        if (drawer.dataset.fcmrMenuReady !== '1') {
            drawer.dataset.fcmrMenuReady = '1';
            var panel = drawer.querySelector('.fcmr-mobile-menu-panel');
            var stack = [];

            function addRow(list, item) {
                var li = document.createElement('li');
                var hasChildren = item.children && item.children.length;
                var control = document.createElement(hasChildren ? 'button' : 'a');
                control.className = hasChildren ? 'fcmr-mobile-menu-parent' : 'fcmr-mobile-menu-link';

                if (hasChildren) {
                    control.type = 'button';
                    control.setAttribute('aria-label', 'Open ' + item.label + ' subcategories');
                } else {
                    control.href = item.href || '#';
                }

                var label = document.createElement('span');
                label.className = 'fcmr-mobile-menu-label';
                label.textContent = item.label;
                control.appendChild(label);

                if (hasChildren) {
                    var arrow = document.createElement('span');
                    arrow.className = 'fcmr-mobile-menu-chevron';
                    arrow.setAttribute('aria-hidden', 'true');
                    arrow.textContent = '›';
                    control.appendChild(arrow);
                    control.addEventListener('click', function (event) {
                        event.preventDefault();
                        event.stopPropagation();
                        stack.push(item);
                        render(item);
                    });
                }

                li.appendChild(control);
                list.appendChild(li);
            }

            function addSecondary() {
                var secondary = document.createElement('div');
                secondary.className = 'fcmr-mobile-menu-secondary';
                var secondaryItems = [
                    ['My Account', window.location.origin + '/my-account/'],
                    ['Delivery Information', window.location.origin + '/shipping-delivery/'],
                    ['Contact Us', window.location.origin + '/?s=contact&post_type=product']
                ];
                for (var s = 0; s < secondaryItems.length; s++) {
                    var sa = document.createElement('a');
                    sa.href = secondaryItems[s][1];
                    sa.textContent = secondaryItems[s][0];
                    secondary.appendChild(sa);
                }
                panel.appendChild(secondary);
            }

            function render(context) {
                while (panel.firstChild) panel.removeChild(panel.firstChild);

                var items = context ? context.children : menuData;
                if (context) {
                    var head = document.createElement('div');
                    head.className = 'fcmr-mobile-submenu-head';

                    var back = document.createElement('button');
                    back.type = 'button';
                    back.className = 'fcmr-mobile-back';
                    back.innerHTML = '<span aria-hidden="true">‹</span><span>Back</span>';
                    back.addEventListener('click', function (event) {
                        event.preventDefault();
                        event.stopPropagation();
                        stack.pop();
                        render(stack.length ? stack[stack.length - 1] : null);
                    });

                    var title = document.createElement('strong');
                    title.className = 'fcmr-mobile-submenu-title';
                    title.textContent = context.label;

                    var viewAll = document.createElement('a');
                    viewAll.className = 'fcmr-mobile-view-all';
                    viewAll.href = context.href || '#';
                    viewAll.textContent = 'View All';

                    head.appendChild(back);
                    head.appendChild(title);
                    head.appendChild(viewAll);
                    panel.appendChild(head);
                }

                var list = document.createElement('ul');
                list.className = 'fcmr-mobile-menu-list';
                for (var i = 0; i < items.length; i++) addRow(list, items[i]);
                panel.appendChild(list);

                if (!context) addSecondary();
                drawer.scrollTop = 0;
            }

            drawer.__fcmrResetMenu = function () {
                stack = [];
                render(null);
            };
            render(null);
        }

        if (!button) {
            button = document.createElement('button');
            button.id = 'fcmr-mobile-menu-toggle';
            button.type = 'button';
            button.setAttribute('aria-label', 'Open menu');
            button.setAttribute('aria-expanded', 'false');
            button.setAttribute('aria-controls', 'fcmr-mobile-menu-drawer');
            button.innerHTML = mobileMenuIcon(false);
            cart.parentNode.insertBefore(button, cart.nextSibling);

            button.addEventListener('click', function (event) {
                event.preventDefault();
                var open = button.getAttribute('aria-expanded') === 'true';
                open = !open;
                button.setAttribute('aria-expanded', open ? 'true' : 'false');
                button.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
                button.innerHTML = mobileMenuIcon(open);
                drawer.classList.toggle('is-open', open);
                if (!open && typeof drawer.__fcmrResetMenu === 'function') drawer.__fcmrResetMenu();
            });
        }
    }

    function commonLayout(nodes, root) {
        if (!nodes.length) return null;
        var node = nodes[0].parentElement;
        while (node && node !== root && node !== document.body) {
            var containsAll = true;
            for (var i = 0; i < nodes.length; i++) {
                if (!node.contains(nodes[i])) { containsAll = false; break; }
            }
            if (containsAll) return node;
            node = node.parentElement;
        }
        return null;
    }

    function tagBrowseBy() {
        var root = document.getElementById('maincontent') || document.body;
        var selects = root.querySelectorAll('select');
        var found = [];

        for (var i = 0; i < selects.length; i++) {
            var select = selects[i];
            var selectedText = '';
            if (select.options && select.options.length) {
                var index = select.selectedIndex >= 0 ? select.selectedIndex : 0;
                selectedText = select.options[index] ? select.options[index].textContent : '';
            }
            var descriptor = [selectedText, select.getAttribute('aria-label'), select.getAttribute('name'), select.getAttribute('id')].join(' ');
            if (/browse\s*by|age|vintage|price/i.test(descriptor)) {
                found.push(select);
                select.classList.add('fcmr-browse-select');
                if (select.parentElement) select.parentElement.classList.add('fcmr-browse-select');
            }
            if (found.length === 3) break;
        }

        if (found.length >= 3) {
            var layout = commonLayout(found.slice(0, 3), root);
            if (layout) layout.classList.add('fcmr-browse-row');
        }
    }

    function tagProductStrips() {
        if (!isPhone()) return;
        var root = document.getElementById('maincontent') || document.body;
        var collections = root.querySelectorAll('[id^="slider-collection-"]');

        for (var i = 0; i < collections.length; i++) {
            var collection = collections[i];
            var products = collection.querySelectorAll('.product-item');
            if (products.length < 2) continue;

            collection.classList.add('fcmr-product-strip', 'fcmr-horizontal-scroller');
            for (var p = 0; p < products.length; p++) {
                var shell = products[p];
                while (shell.parentElement && shell.parentElement !== collection) shell = shell.parentElement;
                if (shell && shell.parentElement === collection) shell.classList.add('fcmr-product-card-shell');
            }
        }

        var productItems = root.querySelectorAll('.product-item');
        for (var j = 0; j < productItems.length; j++) {
            var product = productItems[j];
            if (product.closest && product.closest('.fcmr-product-card-shell')) continue;

            var node = product;
            var hops = 0;
            while (node && node.parentElement && node.parentElement !== root && hops < 7) {
                var parent = node.parentElement;
                var classText = typeof parent.className === 'string' ? parent.className : '';
                var style = window.getComputedStyle ? window.getComputedStyle(parent) : null;
                var horizontal = /slider|overflow-x-scroll|overflow-x-auto/i.test(classText) ||
                    (style && (style.overflowX === 'auto' || style.overflowX === 'scroll'));

                if (horizontal && parent.querySelectorAll('.product-item').length >= 2) {
                    parent.classList.add('fcmr-product-strip', 'fcmr-horizontal-scroller');
                    node.classList.add('fcmr-product-card-shell');
                    break;
                }
                node = parent;
                hops++;
            }
        }
    }

    function tagNewsletter() {
        var elements = document.querySelectorAll('button,a,[role="button"],div');
        for (var i = 0; i < elements.length; i++) {
            var text = normaliseText(elements[i].textContent).toUpperCase();
            if (text !== 'JOIN OUR NEWSLETTER') continue;
            elements[i].classList.add('fcmr-newsletter-button');
            var node = elements[i], hops = 0;
            while (node && node !== document.body && hops < 7) {
                var style = window.getComputedStyle ? window.getComputedStyle(node) : null;
                if (style && (style.position === 'fixed' || style.position === 'sticky')) {
                    node.classList.add('fcmr-newsletter-sticky');
                    break;
                }
                node = node.parentElement;
                hops++;
            }
        }
    }

    function setupFooterAccordions() {
        if (!isPhone()) return;
        var footer = document.querySelector('.page-footer') || document.querySelector('footer');
        if (!footer) return;

        var headings = footer.querySelectorAll('h5');
        var wanted = { 'My Account': true, 'Customer Service': true, 'About Us': true };

        for (var i = 0; i < headings.length; i++) {
            var h = headings[i];
            var label = normaliseText(h.textContent);
            if (!wanted[label]) continue;

            var section = h.closest ? h.closest('[x-data]') : null;
            if (!section || section.dataset.fcmrReady === '1') continue;

            var toggle = h.parentElement;
            var content = toggle ? toggle.nextElementSibling : null;
            if (!toggle || !content) continue;

            section.dataset.fcmrReady = '1';
            section.dataset.fcmrOpen = 'false';
            section.classList.add('fcmr-footer-section');
            toggle.classList.add('fcmr-footer-toggle');
            content.classList.add('fcmr-footer-content');
            toggle.setAttribute('role', 'button');
            toggle.setAttribute('tabindex', '0');
            toggle.setAttribute('aria-expanded', 'false');

            (function (sectionEl, toggleEl) {
                function activate(event) {
                    if (!isPhone()) return;
                    if (event) {
                        event.preventDefault();
                        event.stopPropagation();
                        if (event.stopImmediatePropagation) event.stopImmediatePropagation();
                    }
                    var open = sectionEl.dataset.fcmrOpen === 'true';
                    sectionEl.dataset.fcmrOpen = open ? 'false' : 'true';
                    toggleEl.setAttribute('aria-expanded', open ? 'false' : 'true');
                }

                toggleEl.addEventListener('click', activate, true);
                toggleEl.addEventListener('keydown', function (event) {
                    if (event.key === 'Enter' || event.key === ' ') activate(event);
                }, true);
            })(section, toggle);
        }
    }

    function refreshResponsiveComponents() {
        if (!isPhone()) return;
        try { window.dispatchEvent(new Event('resize')); }
        catch (e) {
            var evt = document.createEvent('Event');
            evt.initEvent('resize', true, true);
            window.dispatchEvent(evt);
        }
    }

    function run() {
        tagHeader();
        buildMobileSearch();
        buildMobileMenu();
        tagBrowseBy();
        tagProductStrips();
        tagNewsletter();
        setupFooterAccordions();
        refreshResponsiveComponents();
    }

    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run, { once: true });
    else run();

    window.setTimeout(run, 250);
    window.setTimeout(run, 700);
    window.setTimeout(run, 1600);
    window.setTimeout(run, 3000);
})();
</script><style id="firstchoice-mobile-repair-v2">
/* FirstChoice -> HTFW phone/tablet parity. Desktop above 1024px is untouched. */
@media (max-width: 1024px) {
	html,
	body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	body,
	#page,
	.site,
	#maincontent,
	.page-main,
	.columns,
	.column.main,
	.content-area {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	#maincontent img,
	.page-main img,
	.content-area img {
		max-width: 100% !important;
		height: auto;
	}

	/* Keep the cloned HTFW header inside the phone viewport. */
	#header,
	.fc-mobile-header-top {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.fc-mobile-header-top {
		padding-left: 20px !important;
		padding-right: 20px !important;
		gap: 10px !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.fc-mobile-header-top > a:first-of-type {
		flex: 1 1 175px !important;
		min-width: 120px !important;
		max-width: 185px !important;
		overflow: visible !important;
	}

	.fc-mobile-header-top > a:first-of-type img {
		width: 100% !important;
		max-width: 185px !important;
		height: auto !important;
		object-fit: contain !important;
	}

	.fc-mobile-header-top > *:not(a:first-of-type) {
		flex-shrink: 0 !important;
	}

	.fc-mobile-header-top svg {
		max-width: 24px !important;
		max-height: 24px !important;
	}

	.fc-mobile-menu-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		min-width: 42px !important;
		height: 42px !important;
		padding: 8px !important;
		margin: 0 !important;
	}

	/* Restore the Quicksearch row on mobile without detaching it from Alpine. */
	.fc-mobile-search-shell {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.fc-mobile-search-wrap,
	#search_mini_form.fc-mobile-search-form {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	#search_mini_form.fc-mobile-search-form input[type="search"] {
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		font-size: 16px !important;
	}

	/* The three desktop Browse By columns become thumb-friendly mobile rows. */
	.fc-browse-row {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.fc-browse-select,
	.fc-browse-select select {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Keep horizontal product/category sliders inside the viewport. */
	#maincontent [class*="overflow-x-scroll"],
	#maincontent [class*="overflow-x-auto"],
	#maincontent .fc-horizontal-scroller {
		max-width: 100vw !important;
		min-width: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	#maincontent .product-item,
	#maincontent .product-item-photo,
	#maincontent .product-info {
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	#maincontent .product-item button,
	#maincontent .product-item .btn,
	#maincontent .product-item .button {
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
	}

	/* The large fixed newsletter teaser covers products on FirstChoice mobile. */
	.fc-newsletter-sticky,
	.fc-newsletter-button {
		display: none !important;
	}

	/* Drawer/footer panels must never preserve the desktop canvas width. */
	.fc-mobile-drawer,
	footer,
	.page-footer {
		max-width: 100vw !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
}
		/* HTFW-style Quicksearch bar. */
		.fc-mobile-search-shell {
			padding: 0 20px 18px !important;
			background: #f6f1ed !important;
		}
		#search_mini_form.fc-mobile-search-form {
			display: grid !important;
			grid-template-columns: minmax(0, 1fr) 72px !important;
			width: 100% !important;
			background: #fff !important;
			border-radius: 10px !important;
			overflow: hidden !important;
		}
		#search_mini_form.fc-mobile-search-form input[type="search"] {
			height: 68px !important;
			padding: 0 22px !important;
			border: 0 !important;
			border-radius: 10px 0 0 10px !important;
			font-size: 22px !important;
			background: #fff !important;
			box-shadow: none !important;
		}
		#search_mini_form.fc-mobile-search-form button[type="submit"] {
			width: 72px !important;
			min-width: 72px !important;
			height: 68px !important;
			margin: 0 !important;
			padding: 0 !important;
			border: 0 !important;
			border-radius: 0 10px 10px 0 !important;
			background: #7d2028 !important;
			color: #fff !important;
		}

		.fc-mobile-rating-strip {
			display: flex !important;
			align-items: center !important;
			justify-content: center !important;
			gap: 12px !important;
			min-height: 72px !important;
			padding: 0 16px !important;
			background: #eee8e2 !important;
			border-top: 1px solid #d5cec8 !important;
			border-bottom: 1px solid #cfc8c2 !important;
			font-size: 20px !important;
			color: #111 !important;
		}
		.fc-rating-star {
			font-size: 34px !important;
			line-height: 1 !important;
		}

		#homepage-banner-container {
			width: calc(100% - 32px) !important;
			max-width: none !important;
			margin: 26px 16px 0 !important;
			margin-left: 16px !important;
			transform: none !important;
			left: auto !important;
			right: auto !important;
		}
		#homepage-banner-container img {
			width: 100% !important;
			height: auto !important;
			border-radius: 18px !important;
		}
		[aria-label="Independent Bottlers"] {
			width: 100% !important;
			max-width: 100% !important;
			margin-left: 0 !important;
			margin-right: 0 !important;
			transform: none !important;
			left: auto !important;
			right: auto !important;
		}

		.fc-browse-row {
			grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
			gap: 12px !important;
		}

		.fc-mobile-menu-button {
			display: inline-flex !important;
			flex-direction: column !important;
			gap: 5px !important;
		}
		.fc-mobile-menu-button .fc-menu-bar {
			display: block !important;
			width: 28px !important;
			height: 3px !important;
			border-radius: 2px !important;
			background: #111 !important;
		}
		.fc-mobile-nav-drawer {
			position: fixed !important;
			top: 0 !important;
			right: 0 !important;
			width: min(86vw, 380px) !important;
			height: 100dvh !important;
			padding: 18px !important;
			background: #fff !important;
			box-shadow: -12px 0 30px rgba(0,0,0,.22) !important;
			transform: translateX(105%) !important;
			transition: transform .22s ease !important;
			overflow-y: auto !important;
			z-index: 100001 !important;
		}
		.fc-mobile-nav-drawer.is-open {
			transform: translateX(0) !important;
		}
		.fc-mobile-nav-drawer ul {
			display: block !important;
			margin: 0 !important;
			padding: 0 !important;
			list-style: none !important;
		}
		.fc-mobile-nav-drawer li {
			display: block !important;
			border-top: 1px solid #ece7e2 !important;
		}
		.fc-mobile-nav-drawer a {
			display: flex !important;
			align-items: center !important;
			min-height: 52px !important;
			padding: 12px 4px !important;
			color: #111 !important;
			text-decoration: none !important;
		}
			/* Staged HTFW-style mobile category navigation. */
			.fc-mobile-nav-drawer {
				width: min(92vw, 430px) !important;
				padding: 0 !important;
				background: #f7f3ef !important;
				box-shadow: -14px 0 36px rgba(0,0,0,.24) !important;
				overflow: hidden !important;
			}
			body.fc-mobile-menu-open::after {
				content: "" !important;
				position: fixed !important;
				inset: 0 !important;
				background: rgba(0,0,0,.34) !important;
				z-index: 100000 !important;
			}
			.fc-mobile-nav-stage {
				position: relative !important;
				width: 100% !important;
				height: 100% !important;
				overflow: hidden !important;
			}
			.fc-mobile-nav-panel {
				position: absolute !important;
				inset: 0 !important;
				display: flex !important;
				flex-direction: column !important;
				background: #f7f3ef !important;
				transform: translateX(105%) !important;
				transition: transform .24s ease !important;
			}
			.fc-mobile-nav-panel.is-active {
				transform: translateX(0) !important;
			}
			.fc-mobile-nav-panel.is-left {
				transform: translateX(-105%) !important;
			}
			.fc-mobile-nav-head {
				display: grid !important;
				grid-template-columns: 48px minmax(0,1fr) 48px !important;
				align-items: center !important;
				min-height: 72px !important;
				padding: 8px 12px !important;
				border-bottom: 1px solid #d8d1cb !important;
				background: #f7f3ef !important;
			}
			.fc-mobile-nav-head strong {
				text-align: center !important;
				font: 600 23px/1.2 Georgia,"Times New Roman",serif !important;
				color: #111 !important;
			}
			.fc-mobile-nav-close,
			.fc-mobile-nav-back {
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 44px !important;
				height: 44px !important;
				border: 0 !important;
				border-radius: 8px !important;
				background: transparent !important;
				color: #111 !important;
				cursor: pointer !important;
			}
			.fc-mobile-nav-close {
				font-size: 31px !important;
				line-height: 1 !important;
			}
			.fc-mobile-nav-back::before {
				content: "" !important;
				width: 12px !important;
				height: 12px !important;
				border-left: 2px solid #111 !important;
				border-bottom: 2px solid #111 !important;
				transform: rotate(45deg) !important;
			}
			.fc-mobile-nav-spacer {
				width: 44px !important;
				height: 44px !important;
			}
			.fc-mobile-nav-scroll {
				flex: 1 1 auto !important;
				overflow-y: auto !important;
				-webkit-overflow-scrolling: touch !important;
				padding: 8px 0 28px !important;
			}
			.fc-mobile-nav-list,
			.fc-mobile-nav-panel ul {
				display: block !important;
				margin: 0 !important;
				padding: 0 !important;
				list-style: none !important;
			}
			.fc-mobile-nav-row,
			.fc-mobile-nav-panel li {
				display: block !important;
				margin: 0 !important;
				padding: 0 !important;
				border-bottom: 1px solid #e3ddd7 !important;
			}
			.fc-mobile-nav-link,
			.fc-mobile-nav-next,
			.fc-mobile-nav-panel a {
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				width: 100% !important;
				min-height: 58px !important;
				padding: 12px 20px !important;
				border: 0 !important;
				background: transparent !important;
				color: #111 !important;
				text-decoration: none !important;
				font: 500 16px/1.3 Poppins,Arial,sans-serif !important;
				text-align: left !important;
				box-sizing: border-box !important;
			}
			.fc-mobile-nav-next::after {
				content: "" !important;
				width: 9px !important;
				height: 9px !important;
				margin-left: 14px !important;
				border-top: 2px solid #555 !important;
				border-right: 2px solid #555 !important;
				transform: rotate(45deg) !important;
				flex: 0 0 auto !important;
			}
			.fc-mobile-submenu-content {
				padding-bottom: 24px !important;
			}
			.fc-mobile-submenu-content > .fc-mobile-shop-all {
				min-height: 54px !important;
				font-weight: 700 !important;
				background: #eee8e2 !important;
			}
			.fc-mobile-submenu-content [class*="grid"] {
				display: block !important;
				width: 100% !important;
			}
			.fc-mobile-submenu-content h2,
			.fc-mobile-submenu-content h3,
			.fc-mobile-submenu-content h4,
			.fc-mobile-submenu-content strong {
				display: block !important;
				margin: 18px 20px 7px !important;
				font: 700 14px/1.3 Poppins,Arial,sans-serif !important;
				color: #5f5954 !important;
			}
			.fc-mobile-submenu-content a {
				min-height: 48px !important;
				padding: 10px 20px !important;
				font-size: 15px !important;
			}

/* HTFW mobile header parity v3 — reference measurements from htfw.com. */
.fc-storefront-mobile-header { display: none; }
@media (max-width: 1024px) {
	#header,
	.fc-storefront-mobile-header {
		background: #f6f1ed !important;
		border-bottom: 1px solid #d8d1cb !important;
	}

	.fc-mobile-header-top,
	.fc-storefront-mobile-header .fc-mobile-header-top {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 92px !important;
		padding: 14px 16px !important;
		gap: 16px !important;
		box-sizing: border-box !important;
		background: #f6f1ed !important;
	}

	.fc-mobile-header-top > a:first-of-type,
	.fc-storefront-mobile-logo {
		display: flex !important;
		align-items: center !important;
		flex: 1 1 189px !important;
		min-width: 108px !important;
		max-width: 189px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.fc-mobile-header-top > a:first-of-type img,
	.fc-storefront-mobile-logo img {
		display: block !important;
		width: 100% !important;
		max-width: 189px !important;
		max-height: 64px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: left center !important;
	}

	.fc-storefront-mobile-actions {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
		margin-left: auto !important;
		flex: 0 0 auto !important;
	}

	.fc-storefront-mobile-action,
	.fc-mobile-menu-button {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		min-width: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 8px !important;
		border: 1px solid #ddd7d2 !important;
		border-radius: 6px !important;
		background: transparent !important;
		color: #353230 !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		text-decoration: none !important;
		line-height: 1 !important;
	}

	.fc-storefront-mobile-action svg,
	.fc-mobile-menu-button svg {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		max-width: 24px !important;
		max-height: 24px !important;
		stroke: currentColor !important;
	}

	.fc-storefront-mobile-currency {
		min-width: 78px !important;
		gap: 7px !important;
		padding: 6px 5px 6px 7px !important;
	}
	.fc-storefront-mobile-currency .fc-currency-flag {
		display: block !important;
		width: 23px !important;
		height: 18px !important;
		flex: 0 0 23px !important;
	}
	.fc-storefront-mobile-currency .fc-currency-symbol {
		font-size: 20px !important;
		line-height: 1 !important;
	}
	.fc-storefront-mobile-currency .fc-currency-chevron {
		width: 16px !important;
		height: 16px !important;
		flex: 0 0 16px !important;
	}

	.fc-mobile-search-shell,
	.fc-storefront-mobile-search-row {
		display: block !important;
		width: 100% !important;
		padding: 0 16px 16px !important;
		background: #f6f1ed !important;
		box-sizing: border-box !important;
	}

	#search_mini_form.fc-mobile-search-form,
	.fc-storefront-mobile-search {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 48px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border-radius: 6px !important;
		overflow: visible !important;
		box-shadow: none !important;
	}

	#search_mini_form.fc-mobile-search-form input[type="search"],
	.fc-storefront-mobile-search input[type="search"] {
		width: 100% !important;
		min-width: 0 !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 14px !important;
		border: 1px solid #cfc8c2 !important;
		border-right: 0 !important;
		border-radius: 6px 0 0 6px !important;
		background: #fff !important;
		color: #282625 !important;
		box-shadow: none !important;
		font: 400 16px/1.2 Poppins,Arial,sans-serif !important;
		box-sizing: border-box !important;
	}

	#search_mini_form.fc-mobile-search-form input[type="search"]::placeholder,
	.fc-storefront-mobile-search input[type="search"]::placeholder {
		color: #746f6a !important;
		opacity: 1 !important;
	}

	#search_mini_form.fc-mobile-search-form button[type="submit"],
	.fc-storefront-mobile-search button[type="submit"] {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 48px !important;
		min-width: 48px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid #7d2028 !important;
		border-radius: 0 6px 6px 0 !important;
		background: #7d2028 !important;
		color: #fff !important;
		box-shadow: none !important;
	}

	#search_mini_form.fc-mobile-search-form button[type="submit"] svg,
	.fc-storefront-mobile-search button[type="submit"] svg {
		width: 24px !important;
		height: 24px !important;
	}

	.fc-mobile-rating-strip { display: none !important; }

	.fc-storefront-mobile-header {
		display: block !important;
		position: relative !important;
		z-index: 99990 !important;
	}
	.site-header.fc-storefront-mobile-source { display: none !important; }

	.fc-mobile-nav-drawer,
	.fc-storefront-mobile-menu {
		display: none !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: 136px !important;
		width: 100% !important;
		max-width: 100vw !important;
		height: calc(100dvh - 136px) !important;
		padding: 8px 0 !important;
		background: #f6f1ed !important;
		border-top: 1px solid #d8d1cb !important;
		box-shadow: none !important;
		transform: none !important;
		overflow: hidden !important;
		z-index: 100001 !important;
		box-sizing: border-box !important;
	}
	.fc-mobile-nav-drawer.is-open,
	.fc-storefront-mobile-menu.is-open { display: block !important; }

	body.fc-mobile-menu-open,
	body.fc-storefront-menu-open { overflow: hidden !important; }
	body.fc-mobile-menu-open::after,
	body.fc-storefront-menu-open::after { display: none !important; }

	.fc-mobile-nav-head {
		min-height: 54px !important;
		padding: 4px 16px !important;
		background: #eee8e2 !important;
	}
	.fc-mobile-nav-head strong {
		font: 600 16px/1.25 Poppins,Arial,sans-serif !important;
	}
	.fc-mobile-nav-row,
	.fc-storefront-mobile-menu li {
		border-top: 1px solid #d8d1cb !important;
		border-bottom: 0 !important;
	}
	.fc-mobile-nav-link,
	.fc-mobile-nav-next,
	.fc-mobile-nav-panel a,
	.fc-storefront-mobile-menu a,
	.fc-storefront-mobile-menu button {
		min-height: 56px !important;
		padding: 16px !important;
		font: 500 16px/1.35 Poppins,Arial,sans-serif !important;
		background: #f6f1ed !important;
		color: #191817 !important;
	}

	.fc-storefront-cart-badge {
		position: absolute !important;
		top: -6px !important;
		right: -6px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 20px !important;
		height: 20px !important;
		padding: 0 5px !important;
		border-radius: 999px !important;
		background: #7d2028 !important;
		color: #fff !important;
		font-size: 10px !important;
		font-weight: 700 !important;
	}
}

@media (max-width: 430px) {
	.fc-mobile-header-top,
	.fc-storefront-mobile-header .fc-mobile-header-top {
		gap: 8px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	.fc-mobile-header-top > a:first-of-type,
	.fc-storefront-mobile-logo { min-width: 96px !important; }
	.fc-storefront-mobile-actions { gap: 4px !important; }
	.fc-storefront-mobile-currency { min-width: 70px !important; gap: 5px !important; }
	.fc-mobile-search-shell,
	.fc-storefront-mobile-search-row {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}


/* HTFW mobile menu/header parity v6: staged navigation to match the live reference. */
@media (max-width:1023px) {
	#fc-htfw-mobile-header-v5 {
		background:#f7f2ee!important;
		border-bottom:1px solid #ded6d0!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-top {
		min-height:72px!important;
		padding:10px 15px 8px!important;
		gap:7px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-logo {
		max-width:126px!important;
		flex:1 1 126px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-logo img {
		width:126px!important;
		max-width:126px!important;
		max-height:52px!important;
		object-fit:contain!important;
		object-position:left center!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-actions {
		gap:5px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-currency,
	#fc-htfw-mobile-header-v5 .fc-hm5-icon,
	#fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle {
		background:transparent!important;
		border:1px solid #d7d0ca!important;
		height:38px!important;
		min-height:38px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-currency {
		width:61px!important;
		min-width:61px!important;
		flex-basis:61px!important;
		padding:5px 4px!important;
		gap:4px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-icon,
	#fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle {
		width:38px!important;
		min-width:38px!important;
		flex-basis:38px!important;
		padding:7px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-search-wrap {
		padding:8px 14px 13px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-search {
		height:43px!important;
		grid-template-columns:minmax(0,1fr) 45px!important;
		border:1px solid #d8d1cb!important;
		border-radius:5px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-search input[type="search"] {
		height:41px!important;
		padding:0 12px!important;
		font-size:14px!important;
		line-height:41px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-search button {
		width:45px!important;
		height:43px!important;
		background:#7c1f27!important;
	}

	/* HTFW phone recording does not show the service strip while the menu is open. */
	body.fc-hm5-menu-open #fc-htfw-mobile-header-v5 .fc-hm5-service {
		display:none!important;
	}

	#fc-htfw-mobile-header-v5 .fc-hm5-menu-panel.fc-hm5-staged {
		display:none!important;
		position:absolute!important;
		left:0!important;
		right:0!important;
		top:100%!important;
		width:100%!important;
		max-height:calc(100svh - 118px)!important;
		margin:0!important;
		padding:0 14px 14px!important;
		background:#f7f2ee!important;
		border-top:1px solid #ded6d0!important;
		box-shadow:0 8px 18px rgba(0,0,0,.08)!important;
		overflow-y:auto!important;
		overflow-x:hidden!important;
		z-index:100001!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-menu-panel.fc-hm5-staged.is-open {
		display:block!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-menu-panel.fc-hm5-staged > .fc-hm5-menu {
		display:none!important;
	}

	.fc-hm5-stage {
		position:relative!important;
		width:100%!important;
		min-height:100%!important;
	}
	.fc-hm5-stage-panel {
		display:none!important;
		width:100%!important;
		margin:0!important;
		padding:0!important;
	}
	.fc-hm5-stage-panel.is-active {
		display:block!important;
	}
	.fc-hm5-stage-list {
		list-style:none!important;
		margin:0!important;
		padding:0!important;
	}
	.fc-hm5-stage-row {
		margin:0!important;
		padding:0!important;
		border-bottom:1px solid #ded8d2!important;
	}
	.fc-hm5-stage-link,
	.fc-hm5-stage-next,
	.fc-hm5-stage-back,
	.fc-hm5-stage-all {
		display:flex!important;
		align-items:center!important;
		justify-content:space-between!important;
		width:100%!important;
		min-height:55px!important;
		margin:0!important;
		padding:13px 10px!important;
		border:0!important;
		border-radius:0!important;
		background:transparent!important;
		color:#171310!important;
		box-shadow:none!important;
		text-decoration:none!important;
		text-align:left!important;
		font:500 14px/1.3 Poppins,Arial,sans-serif!important;
		box-sizing:border-box!important;
	}
	.fc-hm5-stage-next::after {
		content:""!important;
		width:8px!important;
		height:8px!important;
		margin-left:12px!important;
		border-top:1.5px solid #6b645e!important;
		border-right:1.5px solid #6b645e!important;
		transform:rotate(45deg)!important;
		flex:0 0 auto!important;
	}
	.fc-hm5-stage-back {
		justify-content:flex-start!important;
		gap:12px!important;
		min-height:52px!important;
		margin:8px 0 0!important;
		padding:12px 10px!important;
		border-radius:4px!important;
		background:#ede5de!important;
	}
	.fc-hm5-stage-back::before {
		content:""!important;
		width:8px!important;
		height:8px!important;
		border-left:1.5px solid #6b645e!important;
		border-bottom:1.5px solid #6b645e!important;
		transform:rotate(45deg)!important;
		flex:0 0 auto!important;
	}
	.fc-hm5-stage-all {
		margin:0 0 10px!important;
		background:#f2dede!important;
		color:#7c1f27!important;
		font-weight:600!important;
	}
	.fc-hm5-stage-all::after {
		content:"→"!important;
		margin-left:auto!important;
		font-size:20px!important;
		line-height:1!important;
	}
	.fc-hm5-stage-root .fc-hm5-stage-row:last-child .fc-hm5-stage-link,
	.fc-hm5-stage-root .fc-hm5-stage-row:last-child .fc-hm5-stage-next {
		margin-top:10px!important;
		border-radius:5px!important;
		background:#0d4c31!important;
		color:#fff!important;
	}
	.fc-hm5-stage-root .fc-hm5-stage-row:last-child .fc-hm5-stage-next::after {
		border-color:#fff!important;
	}

	/* Remove duplicate Storefront breadcrumb/header spacing on mobile category pages. */
	body.tax-product_cat .storefront-breadcrumb {
		margin:0!important;
		padding:0!important;
	}
	body.tax-product_cat .storefront-breadcrumb > .col-full {
		margin:0!important;
		padding:0!important;
	}
	body.tax-product_cat .storefront-breadcrumb .woocommerce-breadcrumb {
		display:none!important;
	}
	body.tax-product_cat #content.site-content,
	body.tax-product_cat #content.site-content > .col-full,
	body.tax-product_cat #primary.content-area,
	body.tax-product_cat #main.site-main {
		margin-top:0!important;
		padding-top:0!important;
	}
}

@media (max-width:390px) {
	#fc-htfw-mobile-header-v5 .fc-hm5-top {
		padding-left:12px!important;
		padding-right:12px!important;
		gap:4px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-logo,
	#fc-htfw-mobile-header-v5 .fc-hm5-logo img {
		width:108px!important;
		max-width:108px!important;
	}
	#fc-htfw-mobile-header-v5 .fc-hm5-currency {
		width:54px!important;
		min-width:54px!important;
		flex-basis:54px!important;
	}
}


/* FINAL HTFW mobile-only override: header + category pages. */
@media (max-width:1023px){
  .fclm-v3-top,.fclm-v3-nav,.fclm-v3-service,#masthead.site-header,.storefront-primary-navigation,.fc-storefront-mobile-header,.fc-mobile-htfw-header,#fc-htfw-mobile-header{display:none!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

  /* Reuse the existing inner-page header only when no v5 replacement exists. */
  html body #fc-htfw-mobile-header.fc-mobile-header-recovered{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
  }

  #fc-htfw-mobile-header-v5{display:block!important;position:relative!important;z-index:100000!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:#f7f2ee!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-top{display:flex!important;align-items:center!important;width:100%!important;min-height:78px!important;padding:14px 16px 10px!important;gap:7px!important;background:#f7f2ee!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-logo{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;max-width:136px!important;height:50px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-logo img{display:block!important;width:100%!important;max-width:136px!important;max-height:50px!important;object-fit:contain!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 auto!important;gap:7px!important;margin-left:auto!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-currency,#fc-htfw-mobile-header-v5 .fc-hm5-icon,#fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:40px!important;min-height:40px!important;border:1px solid #d9d1cb!important;border-radius:6px!important;background:transparent!important;color:#332e2a!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-currency{flex:0 0 62px!important;width:62px!important;min-width:62px!important;padding:6px 5px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-icon,#fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle{flex:0 0 40px!important;width:40px!important;min-width:40px!important;padding:7px!important;visibility:visible!important;opacity:1!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle svg,#fc-htfw-mobile-header-v5 .fc-hm5-icon svg{display:block!important;width:24px!important;height:24px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle .fc-hm5-open{display:block!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle .fc-hm5-close{display:none!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle[aria-expanded="true"] .fc-hm5-open{display:none!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle[aria-expanded="true"] .fc-hm5-close{display:block!important}

  #fc-htfw-mobile-header-v5 .fc-hm5-search-wrap{display:block!important;position:relative!important;clear:both!important;width:100%!important;min-width:100%!important;margin:0!important;padding:0 16px 14px!important;background:#f7f2ee!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;width:100%!important;height:46px!important;margin:0!important;border:1px solid #cfc8c2!important;border-radius:5px!important;background:#fff!important;overflow:hidden!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search input[type="search"]{display:block!important;width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 13px!important;border:0!important;background:#fff!important;font:400 15px/44px Poppins,Arial,sans-serif!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search button{display:flex!important;align-items:center!important;justify-content:center!important;width:46px!important;min-width:46px!important;height:46px!important;margin:-1px -1px -1px 0!important;padding:0!important;border:0!important;background:#7c1f2d!important;color:#fff!important}

  body.tax-product_cat .fclm-v3-cards-head,body.tax-product_cat .fclm-v3-cards{display:none!important}
  body.tax-product_cat .fclm-v3-about{display:none!important}
  body.tax-product_cat .fclm-v3-about.fc-mobile-about-open{display:block!important}
  body.tax-product_cat .fc-mobile-category-description{display:block!important;width:calc(100% - 32px)!important;margin:14px auto 30px!important;color:#4e4844!important}
  body.tax-product_cat .fc-mobile-category-description p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;margin:0!important;overflow:hidden!important;font:400 14px/1.6 Poppins,Arial,sans-serif!important}
  body.tax-product_cat .fc-mobile-category-description button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:122px!important;min-height:42px!important;margin:20px 0 0!important;padding:10px 16px!important;border:1px solid #9f9690!important;border-radius:5px!important;background:transparent!important;color:#332e2a!important;font:600 12px/1 Poppins,Arial,sans-serif!important}
  body.tax-product_cat .fclm-v9-filters{transform:translateX(-105%)!important}
  body.fc-mobile-filters-open.tax-product_cat .fclm-v9-filters{transform:translateX(0)!important}
  body.tax-product_cat .fclm-v9-shop-main ul.products,body.tax-product_cat .fclm-v9-shop-main .products,body.tax-product_cat ul.products.columns-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important;width:100%!important}
}


/* === FINAL V24: HTFW mobile category structure, V9 markup === */
@media (max-width:1023px){
  body.tax-product_cat{background:#fff!important}

  /* HTFW mobile header proportions */
  #fc-htfw-mobile-header-v5 .fc-hm5-top{
    min-height:78px!important;
    padding:14px 16px 10px!important;
    gap:8px!important;
    border-bottom:0!important;
  }
  #fc-htfw-mobile-header-v5 .fc-hm5-logo{max-width:140px!important;height:54px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-logo img{max-width:140px!important;max-height:54px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-actions{gap:7px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-currency{width:62px!important;min-width:62px!important;flex-basis:62px!important;height:40px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-icon,
  #fc-htfw-mobile-header-v5 .fc-hm5-menu-toggle{width:40px!important;min-width:40px!important;flex-basis:40px!important;height:40px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search-wrap{
    display:block!important;
    position:relative!important;
    width:100%!important;
    clear:both!important;
    padding:0 16px 14px!important;
  }
  #fc-htfw-mobile-header-v5 .fc-hm5-search{height:46px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search input[type="search"]{height:44px!important;font-size:15px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search button{height:46px!important}

  #fc-htfw-mobile-header-v5 .fc-hm5-service{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  #fc-htfw-mobile-header-v5 .fc-hm5-service-item{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    min-height:55px!important;
    scroll-snap-align:start!important;
    justify-content:center!important;
  }

  /* Breadcrumb */
  body.tax-product_cat .storefront-breadcrumb{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.tax-product_cat .storefront-breadcrumb .col-full{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px 16px!important;
  }
  body.tax-product_cat .woocommerce-breadcrumb{
    margin:0!important;
    padding:0!important;
    color:#77716c!important;
    font:400 12px/1.4 Poppins,Arial,sans-serif!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Remove duplicate Woo page title; V9 title is over hero image. */
  body.tax-product_cat .woocommerce-products-header>.woocommerce-products-header__title{
    display:none!important;
  }

  /* Exact HTFW-style V9 mobile hero */
  body.tax-product_cat .fclm-v9-subcategory{
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.tax-product_cat .fclm-v9-reference-hero{
    position:relative!important;
    display:block!important;
    width:calc(100% - 48px)!important;
    height:256px!important;
    min-height:256px!important;
    max-height:256px!important;
    margin:0 24px!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:12px!important;
    background:#2d2926!important;
  }
  body.tax-product_cat .fclm-v9-reference-hero::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:1!important;
    height:52%!important;
    background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,0))!important;
    pointer-events:none!important;
  }
  body.tax-product_cat .fclm-v9-reference-hero img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:256px!important;
    min-height:256px!important;
    max-height:256px!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
    border-radius:0!important;
  }
  body.tax-product_cat .fclm-v9-semantic-hero{
    position:absolute!important;
    inset:0 0 auto 0!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    height:256px!important;
    min-height:256px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    pointer-events:none!important;
  }
  body.tax-product_cat .fclm-v9-hero-inner{
    position:relative!important;
    width:100%!important;
    height:256px!important;
    margin:0!important;
    padding:0!important;
  }
  body.tax-product_cat .fclm-v9-copy{
    position:absolute!important;
    left:32px!important;
    right:32px!important;
    bottom:24px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
  }
  body.tax-product_cat .fclm-v9-copy h1{
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font:700 34px/1.08 "Libre Baskerville",Georgia,serif!important;
    letter-spacing:-.02em!important;
    text-shadow:0 1px 4px rgba(0,0,0,.35)!important;
  }
  body.tax-product_cat .fclm-v9-copy p,
  body.tax-product_cat .fclm-v9-copy .fclm-v3-learn{
    display:none!important;
  }

  /* Mobile description below hero, exactly like HTFW. */
  body.tax-product_cat .fc-v24-category-mobile-copy{
    display:block!important;
    width:calc(100% - 32px)!important;
    margin:14px auto 30px!important;
    padding:0!important;
    color:#443f3b!important;
  }
  body.tax-product_cat .fc-v24-category-mobile-copy p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    margin:0!important;
    overflow:hidden!important;
    color:#443f3b!important;
    font:400 14px/1.58 Poppins,Arial,sans-serif!important;
  }
  body.tax-product_cat .fc-v24-category-mobile-copy.is-expanded p{
    display:block!important;
    -webkit-line-clamp:unset!important;
    overflow:visible!important;
  }
  body.tax-product_cat .fc-v24-category-mobile-copy button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:44px!important;
    margin:20px 0 0!important;
    padding:10px 16px!important;
    border:1px solid #a39b95!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#332e2a!important;
    box-shadow:none!important;
    font:600 12px/1 Poppins,Arial,sans-serif!important;
    text-transform:uppercase!important;
  }

  /* HTFW brand strip is horizontal on mobile, never a 2-col tile wall. */
  body.tax-product_cat .firstchoice-explore-brands{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#f6f4f2!important;
    border-top:1px solid #e4dfda!important;
    border-bottom:1px solid #e4dfda!important;
    overflow:hidden!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-inner{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 0 24px!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-heading{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    width:calc(100% - 32px)!important;
    margin:0 auto 14px!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-heading h2{
    flex:0 0 auto!important;
    margin:0!important;
    color:#292624!important;
    font:700 23px/1.2 "Libre Baskerville",Georgia,serif!important;
    white-space:nowrap!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-heading::after{
    content:""!important;
    flex:1 1 auto!important;
    height:1px!important;
    background:#d9d3ce!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-heading a{
    order:3!important;
    flex:0 0 auto!important;
    margin:0!important;
    color:#645e59!important;
    font:400 12px/1.2 Poppins,Arial,sans-serif!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:42px!important;
    width:100%!important;
    margin:0!important;
    padding:4px 24px 6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.tax-product_cat .firstchoice-explore-brands-grid::-webkit-scrollbar{display:none!important}
  body.tax-product_cat .firstchoice-explore-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:116px!important;
    height:80px!important;
    min-height:80px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-snap-align:start!important;
  }
  body.tax-product_cat .firstchoice-explore-brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:160px!important;
    max-height:70px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    filter:grayscale(1) brightness(.25)!important;
  }

  /* HTFW mobile toolbar: count first, then sort + view + filter. */
  body.tax-product_cat .fclm-v9-shop-frame{
    display:block!important;
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:18px 0 42px!important;
    background:transparent!important;
  }
  body.tax-product_cat .fclm-v9-shop-main{width:100%!important;min-width:0!important}
  body.tax-product_cat .fclm-v9-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"count count count" "sort view filter"!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 18px!important;
    padding:0!important;
    border:0!important;
  }
  body.tax-product_cat .fclm-v9-products-summary{
    grid-area:count!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    min-height:24px!important;
    color:#6b6560!important;
    font:400 13px/1.2 Poppins,Arial,sans-serif!important;
  }
  body.tax-product_cat .fclm-v9-products-summary span{display:none!important}
  body.tax-product_cat .fclm-v9-products-summary strong{font:400 13px/1.2 Poppins,Arial,sans-serif!important;color:#6b6560!important}
  body.tax-product_cat .fclm-v9-ordering{grid-area:sort!important;width:100%!important;min-width:0!important}
  body.tax-product_cat .fclm-v9-ordering form{width:100%!important;margin:0!important}
  body.tax-product_cat .fclm-v9-ordering select{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    padding:0 36px 0 12px!important;
    border:1px solid #d5cec8!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#3d3834!important;
    font:400 13px/1 Poppins,Arial,sans-serif!important;
    box-shadow:none!important;
  }
  body.tax-product_cat .fclm-v9-view-group{
    grid-area:view!important;
    display:flex!important;
    align-items:stretch!important;
    height:48px!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid #d5cec8!important;
    border-radius:6px!important;
    background:#fff!important;
  }
  body.tax-product_cat .fclm-v9-toolbar-label{display:none!important}
  body.tax-product_cat .fclm-v9-view-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:5px!important;
    background:#fff!important;
    color:#6d6762!important;
    box-shadow:none!important;
  }
  body.tax-product_cat .fclm-v9-view-button.is-active{background:#55514e!important;color:#fff!important}
  body.tax-product_cat .fclm-v9-filter-toggle{
    grid-area:filter!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #d5cec8!important;
    border-radius:6px!important;
    background:#fff!important;
    color:transparent!important;
    font-size:0!important;
    box-shadow:none!important;
  }
  body.tax-product_cat .fclm-v9-filter-toggle::before{
    content:""!important;
    display:block!important;
    width:24px!important;
    height:24px!important;
    background:center/24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23605a55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 5H3M12 19H3M14 3v4M16 17v4M21 12h-9M21 19h-5M21 5h-7M8 10v4M8 12H3'/%3E%3C/svg%3E")!important;
  }

  /* Filters are a true mobile drawer. */
  body.tax-product_cat .fclm-v9-filters{
    position:fixed!important;
    inset:0!important;
    z-index:100020!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:24px 24px 40px!important;
    overflow-y:auto!important;
    background:#f7f2ee!important;
    border:0!important;
    border-radius:0!important;
    transform:translateX(-105%)!important;
    transition:transform .2s ease!important;
  }
  body.fc-mobile-filters-open.tax-product_cat .fclm-v9-filters{transform:translateX(0)!important}
  body.tax-product_cat .fclm-v9-filter-section{background:transparent!important}
  body.tax-product_cat .fclm-v9-filter-section summary{min-height:54px!important;padding:15px 2px!important}
  body.tax-product_cat .fclm-v9-filter-close,
  body.tax-product_cat .fc-responsive-filter-close{display:inline-flex!important}

  /* Exact HTFW mobile grid proportions and natural card height. */
  body.tax-product_cat .fclm-v9-shop-main ul.products,
  body.tax-product_cat .fclm-v9-shop-main .products,
  body.tax-product_cat ul.products.columns-4{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 16px!important;
    width:100%!important;
    margin:0!important;
    padding:16px 0 48px!important;
  }
  body.tax-product_cat .fclm-v9-shop-main ul.products li.product{
    display:flex!important;
    flex-direction:column!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.tax-product_cat .fclm-v9-shop-main li.product>a.woocommerce-LoopProduct-link{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    color:#25211e!important;
    text-decoration:none!important;
  }
  body.tax-product_cat .fclm-v9-shop-main li.product .fc-htfw-image-frame{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:9/16!important;
    margin:0 0 10px!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  body.tax-product_cat .fclm-v9-shop-main li.product .fc-htfw-image-frame img,
  body.tax-product_cat .fclm-v9-shop-main ul.products li.product img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 14px!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:0!important;
    background:#fff!important;
  }
  body.tax-product_cat .fclm-v9-shop-main .woocommerce-loop-product__title{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 0 6px!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.tax-product_cat .fc-htfw-brand{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 2px!important;
    padding:0!important;
    color:#211d1a!important;
    font:700 15px/1.3 "Libre Baskerville",Georgia,serif!important;
    white-space:normal!important;
  }
  body.tax-product_cat .fc-htfw-age-vintage{
    display:block!important;
    height:20px!important;
    min-height:20px!important;
    margin:0 0 4px!important;
    overflow:hidden!important;
    color:#312c28!important;
    font:600 11px/20px Poppins,Arial,sans-serif!important;
  }
  body.tax-product_cat .fc-htfw-expression{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    height:auto!important;
    min-height:50px!important;
    max-height:54px!important;
    margin:0!important;
    overflow:hidden!important;
    color:#423c38!important;
    font:400 12px/1.45 Poppins,Arial,sans-serif!important;
  }
  body.tax-product_cat .fclm-v9-card-meta{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    gap:5px!important;
    width:100%!important;
    height:18px!important;
    min-height:18px!important;
    margin:0 0 7px!important;
    padding:0!important;
    color:#746d67!important;
    font:600 10px/18px Poppins,Arial,sans-serif!important;
  }
  body.tax-product_cat .fclm-v9-shop-main ul.products li.product .price{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:27px!important;
    min-height:27px!important;
    margin:0 0 9px!important;
    padding:0!important;
    color:#171411!important;
    font:700 18px/1.25 Poppins,Arial,sans-serif!important;
    text-align:left!important;
  }
  body.tax-product_cat .fclm-v9-shop-main ul.products li.product .button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:9px 6px!important;
    border-radius:7px!important;
    background:#7c1f2d!important;
    border:1px solid #7c1f2d!important;
    color:#fff!important;
    box-shadow:none!important;
    font:600 10px/1.15 Poppins,Arial,sans-serif!important;
    text-align:center!important;
    text-transform:none!important;
    white-space:normal!important;
  }
  body.tax-product_cat .fclm-v9-shop-main ul.products li.product .button::before{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    margin-right:6px!important;
    background-size:18px 18px!important;
  }

  /* Prevent legacy list/card rules from creating giant vertical gaps in grid mode. */
  body.tax-product_cat:not(.fc-htfw-list-mode) .fc-htfw-list-info,
  body.tax-product_cat:not(.fc-htfw-list-mode) .fc-htfw-list-actions,
  body.tax-product_cat:not(.fc-htfw-list-mode) .fc-htfw-list-description,
  body.tax-product_cat:not(.fc-htfw-list-mode) .fc-htfw-list-country,
  body.tax-product_cat:not(.fc-htfw-list-mode) .fc-htfw-list-sku{
    min-height:0!important;
    height:auto!important;
  }
}

@media (max-width:390px){
  #fc-htfw-mobile-header-v5 .fc-hm5-top{padding-left:12px!important;padding-right:12px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-logo,
  #fc-htfw-mobile-header-v5 .fc-hm5-logo img{max-width:112px!important}
  #fc-htfw-mobile-header-v5 .fc-hm5-search-wrap{padding-left:12px!important;padding-right:12px!important}
  body.tax-product_cat .fclm-v9-reference-hero{width:calc(100% - 48px)!important;margin-left:24px!important;margin-right:24px!important}
  body.tax-product_cat .fclm-v9-copy{left:32px!important;right:32px!important}
  body.tax-product_cat .fclm-v9-shop-frame{width:calc(100% - 24px)!important}
  body.tax-product_cat .fclm-v9-shop-main ul.products,
  body.tax-product_cat .fclm-v9-shop-main .products,
  body.tax-product_cat ul.products.columns-4{gap:26px 12px!important}
}

</style>
<script id="firstchoice-mobile-repair-helper-v1">
(function () {
	'use strict';

	function normaliseText(value) {
		return (value || '').replace(/\s+/g, ' ').trim().toUpperCase();
	}

	function tagHeader() {
		var header = document.getElementById('header');
		if (!header) return;

		var topRow = null;
		try {
			topRow = header.querySelector(':scope > .container');
		} catch (e) {
			topRow = header.querySelector('.container');
		}
		if (topRow) topRow.classList.add('fc-mobile-header-top');

		var buttons = header.querySelectorAll('button, [role="button"]');
		for (var i = 0; i < buttons.length; i++) {
			var button = buttons[i];
			var descriptor = [
				button.getAttribute('aria-label'),
				button.getAttribute('title'),
				button.getAttribute('id'),
				button.getAttribute('class'),
				button.getAttribute('@click'),
				button.getAttribute('x-on:click')
			].join(' ');
			if (/menu|navigation|hamburger/i.test(descriptor)) {
				button.classList.add('fc-mobile-menu-button');
				break;
			}
		}
	}

	function tagSearch() {
		var form = document.getElementById('search_mini_form');
		var header = document.getElementById('header');
		if (!form || !header) return;

		form.classList.add('fc-mobile-search-form');
		if (form.parentElement) form.parentElement.classList.add('fc-mobile-search-wrap');

		var node = form.parentElement;
		while (node && node !== header && node !== document.body) {
			var style = window.getComputedStyle ? window.getComputedStyle(node) : null;
			var hiddenByClass = node.classList && (
				node.classList.contains('hidden') ||
				node.classList.contains('sf-hidden')
			);
			if (hiddenByClass || (style && (style.display === 'none' || style.visibility === 'hidden'))) {
				node.classList.add('fc-mobile-search-shell');
			}
			node = node.parentElement;
		}
	}

	function lowestCommonLayout(nodes, root) {
		if (!nodes.length) return null;
		var node = nodes[0].parentElement;
		while (node && node !== root && node !== document.body) {
			var containsAll = true;
			for (var i = 0; i < nodes.length; i++) {
				if (!node.contains(nodes[i])) {
					containsAll = false;
					break;
				}
			}
			if (containsAll) return node;
			node = node.parentElement;
		}
		return null;
	}

	function tagBrowseBy() {
		var root = document.getElementById('maincontent') || document.body;
		var allSelects = root.querySelectorAll('select');
		var browseSelects = [];

		for (var i = 0; i < allSelects.length; i++) {
			var select = allSelects[i];
			var selectedText = '';
			if (select.options && select.options.length) {
				var selectedIndex = select.selectedIndex >= 0 ? select.selectedIndex : 0;
				selectedText = select.options[selectedIndex] ? select.options[selectedIndex].textContent : '';
			}
			var descriptor = [
				selectedText,
				select.getAttribute('aria-label'),
				select.getAttribute('name'),
				select.getAttribute('id')
			].join(' ');
			if (/browse\s*by|age|vintage|price/i.test(descriptor)) {
				browseSelects.push(select);
				select.classList.add('fc-browse-select');
				if (select.parentElement) select.parentElement.classList.add('fc-browse-select');
			}
			if (browseSelects.length === 3) break;
		}

		if (browseSelects.length >= 3) {
			var layout = lowestCommonLayout(browseSelects.slice(0, 3), root);
			if (layout) layout.classList.add('fc-browse-row');
		}
	}

	function tagHorizontalScrollers() {
		var root = document.getElementById('maincontent') || document.body;
		var products = root.querySelectorAll('.product-item');
		for (var i = 0; i < products.length; i++) {
			var node = products[i].parentElement;
			var hops = 0;
			while (node && node !== root && hops < 4) {
				var style = window.getComputedStyle ? window.getComputedStyle(node) : null;
				if (style && (style.overflowX === 'auto' || style.overflowX === 'scroll')) {
					node.classList.add('fc-horizontal-scroller');
					break;
				}
				node = node.parentElement;
				hops++;
			}
		}
	}

	function tagNewsletter() {
		var candidates = document.querySelectorAll('button, a, [role="button"], div');
		for (var i = 0; i < candidates.length; i++) {
			var element = candidates[i];
			if (normaliseText(element.textContent) !== 'JOIN OUR NEWSLETTER') continue;

			element.classList.add('fc-newsletter-button');
			var node = element;
			var hops = 0;
			while (node && node !== document.body && hops < 6) {
				var style = window.getComputedStyle ? window.getComputedStyle(node) : null;
				if (style && (style.position === 'fixed' || style.position === 'sticky')) {
					node.classList.add('fc-newsletter-sticky');
					break;
				}
				node = node.parentElement;
				hops++;
			}
		}
	}

	function tagDrawer() {
		var candidates = document.querySelectorAll('[role="dialog"], [aria-modal="true"]');
		for (var i = 0; i < candidates.length; i++) {
			var text = normaliseText(candidates[i].textContent);
			if (/NEW ARRIVALS|SCOTCH WHISKY|CUSTOMER SERVICE/.test(text)) {
				candidates[i].classList.add('fc-mobile-drawer');
			}
		}
	}

	function ensureMobileRating() {
			if (window.location.pathname !== '/' || document.querySelector('.fc-mobile-rating-strip')) return;

			var header = document.getElementById('header');
			if (!header) return;

			var rating = document.createElement('div');
			rating.className = 'fc-mobile-rating-strip';
			rating.innerHTML = '<span class="fc-rating-star">✓</span><span>Secure Checkout</span>';
			header.insertAdjacentElement('afterend', rating);
		}

		function ensureMobileMenu() {
			var header = document.getElementById('header');
			var nav = document.querySelector('nav.navigation');
			if (!header || !nav) return;

			var topRow = header.querySelector('.fc-mobile-header-top') || header.querySelector('.container');
			if (!topRow) return;

			var button = topRow.querySelector('.fc-mobile-menu-button');
			if (!button) {
				button = document.createElement('button');
				button.type = 'button';
				button.className = 'fc-mobile-menu-button';
				button.setAttribute('aria-label', 'Open menu');
				button.setAttribute('aria-expanded', 'false');
				button.innerHTML = '<span class="fc-menu-bar"></span><span class="fc-menu-bar"></span><span class="fc-menu-bar"></span>';
				topRow.appendChild(button);
			}

			var drawer = document.querySelector('.fc-mobile-nav-drawer');
			if (!drawer) {
				drawer = document.createElement('div');
				drawer.className = 'fc-mobile-nav-drawer';
				drawer.setAttribute('aria-hidden', 'true');

				var close = document.createElement('button');
				close.type = 'button';
				close.className = 'fc-responsive-filter-close';
				close.setAttribute('aria-label', 'Close menu');
				close.textContent = '×';
				drawer.appendChild(close);

				var clone = nav.cloneNode(true);
				clone.classList.remove('hidden');
				clone.classList.add('fc-mobile-nav-clone');
				clone.querySelectorAll('[id]').forEach(function (node) { node.removeAttribute('id'); });
				drawer.appendChild(clone);
				document.body.appendChild(drawer);

				close.addEventListener('click', function () {
					drawer.classList.remove('is-open');
					drawer.setAttribute('aria-hidden', 'true');
					button.setAttribute('aria-expanded', 'false');
				});

				drawer.addEventListener('click', function (event) {
					if (!event.target.closest('a')) return;
					drawer.classList.remove('is-open');
					drawer.setAttribute('aria-hidden', 'true');
					button.setAttribute('aria-expanded', 'false');
				});
			}

			if (!button.dataset.fcMenuBound) {
				button.dataset.fcMenuBound = '1';
				button.addEventListener('click', function () {
					var open = !drawer.classList.contains('is-open');
					drawer.classList.toggle('is-open', open);
					drawer.setAttribute('aria-hidden', open ? 'false' : 'true');
					button.setAttribute('aria-expanded', open ? 'true' : 'false');
				});
			}
		}

		function ensureStagedMobileMenu() {
			var header = document.getElementById('header');
			var nav = document.querySelector('nav.navigation');
			if (!header || !nav) return;

			var topRow = header.querySelector('.fc-mobile-header-top') || header.querySelector('.container');
			if (!topRow) return;

			var oldDrawer = document.querySelector('.fc-mobile-nav-drawer');
			if (oldDrawer && oldDrawer.dataset.fcStaged === '1') return;
			if (oldDrawer) oldDrawer.remove();

			var button = topRow.querySelector('.fc-mobile-menu-button');
			if (!button) {
				button = document.createElement('button');
				button.type = 'button';
				button.className = 'fc-mobile-menu-button';
				button.setAttribute('aria-label', 'Open menu');
				button.innerHTML = '<span class="fc-menu-bar"></span><span class="fc-menu-bar"></span><span class="fc-menu-bar"></span>';
				topRow.appendChild(button);
			}
			button.setAttribute('aria-expanded', 'false');

			var drawer = document.createElement('div');
			drawer.className = 'fc-mobile-nav-drawer';
			drawer.dataset.fcStaged = '1';
			drawer.setAttribute('aria-hidden', 'true');

			var stage = document.createElement('div');
			stage.className = 'fc-mobile-nav-stage';

			var rootPanel = document.createElement('section');
			rootPanel.className = 'fc-mobile-nav-panel fc-mobile-nav-root is-active';
			rootPanel.setAttribute('data-panel', 'root');
			rootPanel.innerHTML = '<div class="fc-mobile-nav-head"><span class="fc-mobile-nav-spacer"></span><strong>Shop</strong><button type="button" class="fc-mobile-nav-close" aria-label="Close menu">×</button></div><div class="fc-mobile-nav-scroll"><ul class="fc-mobile-nav-list"></ul></div>';
			stage.appendChild(rootPanel);

			var rootList = rootPanel.querySelector('.fc-mobile-nav-list');
			var sourceList = nav.querySelector('ul');
			var topItems = sourceList ? Array.prototype.slice.call(sourceList.children) : [];

			topItems.forEach(function (item, index) {
				var directChildren = Array.prototype.slice.call(item.children || []);
				var link = directChildren.find(function (child) { return child.tagName === 'A'; }) || item.querySelector('a');
				if (!link) return;

				var label = (link.textContent || '').replace(/\s+/g, ' ').trim();
				if (!label) return;

				var submenuSource = directChildren.find(function (child) {
					return child !== link && (child.tagName === 'UL' || child.tagName === 'DIV' || child.tagName === 'SECTION');
				});
				if (!submenuSource) {
					submenuSource = item.querySelector('ul, [class*="mega"], [class*="submenu"], [class*="dropdown"]');
				}

				var row = document.createElement('li');
				row.className = 'fc-mobile-nav-row';

				if (submenuSource) {
					var next = document.createElement('button');
					next.type = 'button';
					next.className = 'fc-mobile-nav-next';
					next.textContent = label;
					next.setAttribute('data-target', 'submenu-' + index);
					row.appendChild(next);

					var subPanel = document.createElement('section');
					subPanel.className = 'fc-mobile-nav-panel';
					subPanel.setAttribute('data-panel', 'submenu-' + index);

					var subHead = document.createElement('div');
					subHead.className = 'fc-mobile-nav-head';
					subHead.innerHTML = '<button type="button" class="fc-mobile-nav-back" aria-label="Back"></button><strong></strong><button type="button" class="fc-mobile-nav-close" aria-label="Close menu">×</button>';
					subHead.querySelector('strong').textContent = label;
					subPanel.appendChild(subHead);

					var subScroll = document.createElement('div');
					subScroll.className = 'fc-mobile-nav-scroll';
					var subContent = document.createElement('div');
					subContent.className = 'fc-mobile-submenu-content';

					var shopAll = document.createElement('a');
					shopAll.className = 'fc-mobile-shop-all';
					shopAll.href = link.href;
					shopAll.textContent = 'Shop All ' + label;
					subContent.appendChild(shopAll);

					var cloned = submenuSource.cloneNode(true);
					cloned.querySelectorAll('[id]').forEach(function (node) { node.removeAttribute('id'); });
					cloned.removeAttribute('style');
					cloned.classList.remove('hidden');
					subContent.appendChild(cloned);

					subScroll.appendChild(subContent);
					subPanel.appendChild(subScroll);
					stage.appendChild(subPanel);
				} else {
					var plain = document.createElement('a');
					plain.className = 'fc-mobile-nav-link';
					plain.href = link.href;
					plain.textContent = label;
					row.appendChild(plain);
				}

				rootList.appendChild(row);
			});

			drawer.appendChild(stage);
			document.body.appendChild(drawer);

			function showRoot() {
				drawer.querySelectorAll('.fc-mobile-nav-panel').forEach(function (panel) {
					panel.classList.remove('is-active', 'is-left');
				});
				rootPanel.classList.add('is-active');
			}

			function closeMenu() {
				drawer.classList.remove('is-open');
				drawer.setAttribute('aria-hidden', 'true');
				button.setAttribute('aria-expanded', 'false');
				document.body.classList.remove('fc-mobile-menu-open');
				showRoot();
			}

			drawer.addEventListener('click', function (event) {
				var next = event.target.closest('.fc-mobile-nav-next');
				if (next) {
					var target = drawer.querySelector('[data-panel="' + next.getAttribute('data-target') + '"]');
					if (target) {
						rootPanel.classList.remove('is-active');
						rootPanel.classList.add('is-left');
						target.classList.add('is-active');
					}
					return;
				}

				if (event.target.closest('.fc-mobile-nav-back')) {
					var activeSub = event.target.closest('.fc-mobile-nav-panel');
					if (activeSub) activeSub.classList.remove('is-active');
					rootPanel.classList.remove('is-left');
					rootPanel.classList.add('is-active');
					return;
				}

				if (event.target.closest('.fc-mobile-nav-close')) {
					closeMenu();
					return;
				}

				if (event.target.closest('a')) closeMenu();
			});

			if (!button.dataset.fcStagedBound) {
				button.dataset.fcStagedBound = '1';
				button.addEventListener('click', function () {
					var open = !drawer.classList.contains('is-open');
					drawer.classList.toggle('is-open', open);
					drawer.setAttribute('aria-hidden', open ? 'false' : 'true');
					button.setAttribute('aria-expanded', open ? 'true' : 'false');
					document.body.classList.toggle('fc-mobile-menu-open', open);
					if (!open) showRoot();
				});
			}

			document.addEventListener('keydown', function (event) {
				if (event.key === 'Escape' && drawer.classList.contains('is-open')) closeMenu();
			});
		}

		function buildStorefrontMobileHeader() {
	if (document.getElementById('header')) return;
	if (window.matchMedia && !window.matchMedia('(max-width: 1024px)').matches) return;
	if (document.querySelector('.fc-storefront-mobile-header')) return;

	var source = document.querySelector('.site-header');
	if (!source) return;
	source.classList.add('fc-storefront-mobile-source');

	function icon(path) {
		return '<svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">' + path + '</svg>';
	}

	function usFlag() {
		return '<span class="fc-currency-flag" aria-hidden="true"><svg viewBox="0 0 28 20" width="23" height="18" xmlns="http://www.w3.org/2000/svg"><rect width="28" height="20" fill="#fff"/><g fill="#b22234"><rect y="0" width="28" height="1.55"/><rect y="3.1" width="28" height="1.55"/><rect y="6.2" width="28" height="1.55"/><rect y="9.3" width="28" height="1.55"/><rect y="12.4" width="28" height="1.55"/><rect y="15.5" width="28" height="1.55"/><rect y="18.45" width="28" height="1.55"/></g><rect width="12" height="10.8" fill="#3c3b6e"/><g fill="#fff"><circle cx="2" cy="2" r=".7"/><circle cx="5" cy="2" r=".7"/><circle cx="8" cy="2" r=".7"/><circle cx="11" cy="2" r=".7"/><circle cx="3.5" cy="4.2" r=".7"/><circle cx="6.5" cy="4.2" r=".7"/><circle cx="9.5" cy="4.2" r=".7"/><circle cx="2" cy="6.4" r=".7"/><circle cx="5" cy="6.4" r=".7"/><circle cx="8" cy="6.4" r=".7"/><circle cx="11" cy="6.4" r=".7"/><circle cx="3.5" cy="8.6" r=".7"/><circle cx="6.5" cy="8.6" r=".7"/><circle cx="9.5" cy="8.6" r=".7"/></g></svg></span>';
	}

	function cleanClone(node) {
		var clone = node.cloneNode(true);
		clone.querySelectorAll('[id]').forEach(function (child) { child.removeAttribute('id'); });
		clone.removeAttribute('id');
		return clone;
	}

	var shell = document.createElement('div');
	shell.className = 'fc-storefront-mobile-header';

	var top = document.createElement('div');
	top.className = 'fc-mobile-header-top';

	var logoLink = source.querySelector('.site-branding .custom-logo-link, .site-branding a');
	var logo = document.createElement('a');
	logo.className = 'fc-storefront-mobile-logo';
	logo.href = logoLink ? logoLink.href : '/';
	logo.setAttribute('aria-label', 'Home');
	var logoImage = logoLink ? logoLink.querySelector('img') : source.querySelector('.site-branding img');
	if (logoImage) {
		var clonedLogo = logoImage.cloneNode(true);
		var realSrc = clonedLogo.getAttribute('data-src') || clonedLogo.getAttribute('src');
		if (realSrc) clonedLogo.setAttribute('src', realSrc);
		clonedLogo.removeAttribute('data-src');
		clonedLogo.removeAttribute('data-srcset');
		clonedLogo.removeAttribute('data-sizes');
		clonedLogo.removeAttribute('width');
		clonedLogo.removeAttribute('height');
		logo.appendChild(clonedLogo);
	} else {
		logo.textContent = 'FirstChoice Liquor Market';
	}

	var actions = document.createElement('div');
	actions.className = 'fc-storefront-mobile-actions';

	var currency = document.createElement('button');
	currency.type = 'button';
	currency.className = 'fc-storefront-mobile-action fc-storefront-mobile-currency';
	currency.setAttribute('aria-label', 'Currency: USD');
	currency.innerHTML = usFlag() + '<span class="fc-currency-symbol">$</span><span class="fc-currency-chevron">' + icon('<path d="m6 9 6 6 6-6"></path>') + '</span>';
	actions.appendChild(currency);

	var account = document.createElement('a');
	account.className = 'fc-storefront-mobile-action';
	account.href = '/my-account/';
	account.setAttribute('aria-label', 'Sign In');
	account.innerHTML = icon('<path d="M17.925 20.056a6 6 0 0 0-11.851.001"></path><circle cx="12" cy="11" r="4"></circle><circle cx="12" cy="12" r="10"></circle>');
	actions.appendChild(account);

	var cartSource = source.querySelector('.site-header-cart .cart-contents');
	var cart = document.createElement('a');
	cart.className = 'fc-storefront-mobile-action';
	cart.href = cartSource ? cartSource.href : '/cart/';
	cart.setAttribute('aria-label', 'Basket');
	cart.innerHTML = icon('<path d="m15 11-1 9M19 11l-4-7M2 11h20M3.5 11l1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4M4.5 15.5h15M5 11l4-7M9 11l1 9"></path>');
	var countNode = source.querySelector('.site-header-cart .count');
	if (countNode) {
		var countMatch = (countNode.textContent || '').match(/\d+/);
		if (countMatch && parseInt(countMatch[0], 10) > 0) {
			var badge = document.createElement('span');
			badge.className = 'fc-storefront-cart-badge';
			badge.textContent = countMatch[0];
			cart.appendChild(badge);
		}
	}
	actions.appendChild(cart);

	var menuButton = document.createElement('button');
	menuButton.type = 'button';
	menuButton.className = 'fc-storefront-mobile-action fc-mobile-menu-button';
	menuButton.setAttribute('aria-label', 'Open menu');
	menuButton.setAttribute('aria-expanded', 'false');
	var hamburgerIcon = icon('<path d="M4 5h16M4 12h16M4 19h16"></path>');
	var closeIcon = icon('<path d="M18 6 6 18M6 6l12 12"></path>');
	menuButton.innerHTML = hamburgerIcon;
	actions.appendChild(menuButton);

	top.appendChild(logo);
	top.appendChild(actions);
	shell.appendChild(top);

	var searchRow = document.createElement('div');
	searchRow.className = 'fc-storefront-mobile-search-row';
	var sourceSearch = source.querySelector('form.woocommerce-product-search');
	var searchForm;
	if (sourceSearch) {
		searchForm = cleanClone(sourceSearch);
	} else {
		searchForm = document.createElement('form');
		searchForm.method = 'get';
		searchForm.action = '/';
		searchForm.innerHTML = '<input type="search" name="s"><input type="hidden" name="post_type" value="product"><button type="submit"></button>';
	}
	searchForm.className = 'fc-storefront-mobile-search';
	var searchInput = searchForm.querySelector('input[type="search"]');
	if (searchInput) {
		searchInput.placeholder = 'Quicksearch...';
		searchInput.setAttribute('aria-label', 'Quicksearch');
	}
	var searchButton = searchForm.querySelector('button[type="submit"]');
	if (!searchButton) {
		searchButton = document.createElement('button');
		searchButton.type = 'submit';
		searchForm.appendChild(searchButton);
	}
	searchButton.innerHTML = icon('<path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle>');
	searchButton.setAttribute('aria-label', 'Search');
	searchRow.appendChild(searchForm);
	shell.appendChild(searchRow);

	var menu = document.createElement('div');
	menu.className = 'fc-storefront-mobile-menu';
	menu.setAttribute('aria-hidden', 'true');

	var sourceList = source.querySelector('#site-navigation .primary-navigation > ul.menu, #site-navigation ul.menu');
	var list = document.createElement('ul');
	list.className = 'fc-mobile-nav-list';

	if (sourceList) {
		Array.prototype.forEach.call(sourceList.children, function (item, index) {
			var direct = Array.prototype.slice.call(item.children || []);
			var link = direct.find(function (child) { return child.tagName === 'A'; }) || item.querySelector('a');
			if (!link) return;
			var label = (link.textContent || '').replace(/\s+/g, ' ').trim();
			if (!label) return;

			var row = document.createElement('li');
			row.className = 'fc-mobile-nav-row';
			var submenu = direct.find(function (child) { return child.tagName === 'UL'; });

			if (submenu && submenu.children.length) {
				var trigger = document.createElement('button');
				trigger.type = 'button';
				trigger.className = 'fc-mobile-nav-next';
				trigger.textContent = label;
				trigger.setAttribute('data-fc-submenu', 'fc-storefront-submenu-' + index);
				row.appendChild(trigger);

				var sub = document.createElement('div');
				sub.className = 'fc-storefront-submenu';
				sub.id = 'fc-storefront-submenu-' + index;
				sub.hidden = true;

				var back = document.createElement('button');
				back.type = 'button';
				back.className = 'fc-storefront-submenu-back';
				back.innerHTML = icon('<path d="m15 18-6-6 6-6"></path>') + '<span>' + label + '</span>';
				sub.appendChild(back);

				var shopAll = document.createElement('a');
				shopAll.className = 'fc-mobile-shop-all';
				shopAll.href = link.href;
				shopAll.textContent = 'Shop All ' + label;
				sub.appendChild(shopAll);

				Array.prototype.forEach.call(submenu.children, function (subItem) {
					var subLink = subItem.querySelector(':scope > a') || subItem.querySelector('a');
					if (!subLink) return;
					var a = document.createElement('a');
					a.href = subLink.href;
					a.className = 'fc-mobile-nav-link';
					a.textContent = (subLink.textContent || '').replace(/\s+/g, ' ').trim();
					sub.appendChild(a);
				});

				menu.appendChild(sub);
			} else {
				var a = document.createElement('a');
				a.className = 'fc-mobile-nav-link';
				a.href = link.href;
				a.textContent = label;
				row.appendChild(a);
			}
			list.appendChild(row);
		});
	}

	menu.insertBefore(list, menu.firstChild);
	document.body.appendChild(menu);
	source.parentNode.insertBefore(shell, source);

	function showMainMenu() {
		list.style.display = '';
		menu.querySelectorAll('.fc-storefront-submenu').forEach(function (sub) { sub.hidden = true; });
	}

	function closeMenu() {
		menu.classList.remove('is-open');
		menu.setAttribute('aria-hidden', 'true');
		menuButton.setAttribute('aria-expanded', 'false');
		menuButton.setAttribute('aria-label', 'Open menu');
		menuButton.innerHTML = hamburgerIcon;
		document.body.classList.remove('fc-storefront-menu-open');
		showMainMenu();
	}

	menuButton.addEventListener('click', function () {
		var open = !menu.classList.contains('is-open');
		menu.classList.toggle('is-open', open);
		menu.setAttribute('aria-hidden', open ? 'false' : 'true');
		menuButton.setAttribute('aria-expanded', open ? 'true' : 'false');
		menuButton.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
		menuButton.innerHTML = open ? closeIcon : hamburgerIcon;
		document.body.classList.toggle('fc-storefront-menu-open', open);
		if (!open) showMainMenu();
	});

	menu.addEventListener('click', function (event) {
		var trigger = event.target.closest('.fc-mobile-nav-next');
		if (trigger && trigger.getAttribute('data-fc-submenu')) {
			var target = document.getElementById(trigger.getAttribute('data-fc-submenu'));
			if (target) {
				list.style.display = 'none';
				target.hidden = false;
			}
			return;
		}

		var back = event.target.closest('.fc-storefront-submenu-back');
		if (back) {
			showMainMenu();
			return;
		}

		if (event.target.closest('a')) closeMenu();
	});

	document.addEventListener('keydown', function (event) {
		if (event.key === 'Escape' && menu.classList.contains('is-open')) closeMenu();
	});
}


function buildV5StagedMenu() {
	var header = document.getElementById('fc-htfw-mobile-header-v5');
	if (!header || header.dataset.fcStagedReady === '1') return;

	var menuPanel = header.querySelector('.fc-hm5-menu-panel');
	var sourceRoot = menuPanel ? menuPanel.querySelector(':scope > .fc-hm5-menu') : null;
	if (!menuPanel || !sourceRoot) return;

	header.dataset.fcStagedReady = '1';
	menuPanel.classList.add('fc-hm5-staged');

	var stage = document.createElement('div');
	stage.className = 'fc-hm5-stage';
	menuPanel.appendChild(stage);

	var panels = {};
	var panelCount = 0;

	function directChild(node, selector) {
		var children = Array.prototype.slice.call(node.children || []);
		for (var i = 0; i < children.length; i++) {
			if (children[i].matches && children[i].matches(selector)) return children[i];
		}
		return null;
	}

	function labelFrom(link) {
		return (link && link.textContent ? link.textContent : '').replace(/\s+/g, ' ').trim();
	}

	function makePanel(title, parentId) {
		var id = 'fc-hm5-stage-' + panelCount++;
		var panel = document.createElement('section');
		panel.className = 'fc-hm5-stage-panel';
		panel.setAttribute('data-panel', id);
		panel.setAttribute('data-parent', parentId || '');
		panel.setAttribute('aria-label', title || 'Menu');

		var list = document.createElement('ul');
		list.className = 'fc-hm5-stage-list';
		panel.appendChild(list);

		stage.appendChild(panel);
		panels[id] = panel;
		return { id:id, panel:panel, list:list };
	}

	function addBack(panelObj, label, parentId) {
		var row = document.createElement('li');
		row.className = 'fc-hm5-stage-row';
		var back = document.createElement('button');
		back.type = 'button';
		back.className = 'fc-hm5-stage-back';
		back.setAttribute('data-back', parentId);
		var parentTitle = '';
			if (parentId && panels[parentId]) {
				parentTitle = panels[parentId].getAttribute('aria-label') || '';
			}
			if (parentTitle && parentTitle !== 'Shop') {
				var parentSpan = document.createElement('span');
				parentSpan.className = 'fc-hm5-back-parent';
				parentSpan.textContent = parentTitle;
				var sep = document.createElement('span');
				sep.className = 'fc-hm5-back-separator';
				sep.textContent = '›';
				var currentSpan = document.createElement('span');
				currentSpan.className = 'fc-hm5-back-current';
				currentSpan.textContent = label;
				back.appendChild(parentSpan);
				back.appendChild(sep);
				back.appendChild(currentSpan);
			} else {
				back.textContent = label;
			}
		row.appendChild(back);
		panelObj.list.appendChild(row);
	}

	function addLink(list, link, className) {
		var row = document.createElement('li');
		row.className = 'fc-hm5-stage-row';
		var a = document.createElement('a');
		a.className = className || 'fc-hm5-stage-link';
		a.href = link.href || '#';
		a.textContent = labelFrom(link);
		row.appendChild(a);
		list.appendChild(row);
	}

	function addNext(list, label, targetId) {
		var row = document.createElement('li');
		row.className = 'fc-hm5-stage-row';
		var button = document.createElement('button');
		button.type = 'button';
		button.className = 'fc-hm5-stage-next';
		button.setAttribute('data-target', targetId);
		button.textContent = label;
		row.appendChild(button);
		list.appendChild(row);
	}

	function groupSubmenu(submenu, title, parentPanelId, parentLink) {
		var panelObj = makePanel(title, parentPanelId);
		addBack(panelObj, title, parentPanelId);

		var children = Array.prototype.slice.call(submenu.children || []);
		var groups = [];
		var directItems = [];

		for (var i = 0; i < children.length; i++) {
			var item = children[i];
			var link = directChild(item, 'a') || item.querySelector('a');
			if (!link) continue;

			if (item.classList.contains('fc-htfw-menu-heading')) {
				var groupLabel = labelFrom(link);
				var groupItems = [];
				for (var j = i + 1; j < children.length; j++) {
					if (children[j].classList.contains('fc-htfw-menu-heading')) break;
					groupItems.push(children[j]);
				}
				if (/^explore$/i.test(groupLabel)) {
					directItems = directItems.concat(groupItems);
				} else if (groupItems.length) {
					groups.push({ label:groupLabel, items:groupItems });
				}
				continue;
			}

			var previous = i > 0 ? children[i - 1] : null;
			if (previous && previous.classList.contains('fc-htfw-menu-heading')) continue;

			var nested = directChild(item, 'ul');
			if (nested) directItems.push(item);
		}

		groups.forEach(function (group) {
			var synthetic = document.createElement('ul');
			group.items.forEach(function (item) { synthetic.appendChild(item.cloneNode(true)); });
			var childPanel = groupSubmenu(synthetic, group.label, panelObj.id, null);
			addNext(panelObj.list, group.label, childPanel.id);
		});

		directItems.forEach(function (item) {
			var link = directChild(item, 'a') || item.querySelector('a');
			if (!link) return;
			var nested = directChild(item, 'ul');
			if (nested && nested.children.length) {
				var nestedPanel = groupSubmenu(nested, labelFrom(link), panelObj.id, link);
				addNext(panelObj.list, labelFrom(link), nestedPanel.id);
			} else {
				addLink(panelObj.list, link);
			}
		});

		if (parentLink && parentLink.href && parentLink.href !== '#') {
			var allRow = document.createElement('li');
			allRow.className = 'fc-hm5-stage-row';
			var all = document.createElement('a');
			all.className = 'fc-hm5-stage-all';
			all.href = parentLink.href;
			all.textContent = 'All ' + title;
			allRow.appendChild(all);
			panelObj.list.appendChild(allRow);
		}

		return panelObj;
	}

	var root = makePanel('Shop', '');
	root.panel.classList.add('is-active', 'fc-hm5-stage-root');

	Array.prototype.forEach.call(sourceRoot.children, function (item) {
		var link = directChild(item, 'a') || item.querySelector('a');
		if (!link) return;
		var label = labelFrom(link);
		if (!label) return;
		var submenu = directChild(item, 'ul');

		if (submenu && submenu.children.length) {
			var subPanel = groupSubmenu(submenu, label, root.id, link);
			addNext(root.list, label, subPanel.id);
		} else {
			addLink(root.list, link);
		}
	});

	function showPanel(id) {
		Object.keys(panels).forEach(function (key) {
			panels[key].classList.remove('is-active');
		});
		if (panels[id]) {
			panels[id].classList.add('is-active');
			menuPanel.scrollTop = 0;
		}
	}

	stage.addEventListener('click', function (event) {
		var next = event.target.closest('.fc-hm5-stage-next');
		if (next) {
			event.preventDefault();
			showPanel(next.getAttribute('data-target'));
			return;
		}

		var back = event.target.closest('.fc-hm5-stage-back');
		if (back) {
			event.preventDefault();
			showPanel(back.getAttribute('data-back') || root.id);
			return;
		}
	});

	var menuToggle = header.querySelector('.fc-hm5-menu-toggle');
	if (menuToggle && !menuToggle.dataset.fcStageBound) {
		menuToggle.dataset.fcStageBound = '1';
		menuToggle.addEventListener('click', function () {
			window.setTimeout(function () {
				if (!menuPanel.classList.contains('is-open')) showPanel(root.id);
			}, 0);
		});
	}

	document.addEventListener('keydown', function (event) {
		if (event.key === 'Escape') showPanel(root.id);
	});
}


function forceExactMobileParity() {
	if (!window.matchMedia || !window.matchMedia('(max-width:1023px)').matches) return;

	var header = document.getElementById('fc-htfw-mobile-header-v5');
	// Keep the existing inner-page header when the alternate v5 header is absent.
	// The working homepage and all desktop styles remain unchanged.
	var recoveryHeader = !header && window.location.pathname !== '/'
		? document.getElementById('fc-htfw-mobile-header') : null;

	document.querySelectorAll('.fclm-v3-top,.fclm-v3-nav,.fclm-v3-service,#masthead.site-header,.storefront-primary-navigation,.fc-storefront-mobile-header,.fc-mobile-htfw-header,#fc-htfw-mobile-header').forEach(function (node) {
		if (node === recoveryHeader) return;
		node.style.setProperty('display', 'none', 'important');
		node.style.setProperty('height', '0', 'important');
		node.style.setProperty('min-height', '0', 'important');
		node.style.setProperty('max-height', '0', 'important');
		node.style.setProperty('margin', '0', 'important');
		node.style.setProperty('padding', '0', 'important');
		node.style.setProperty('overflow', 'hidden', 'important');
	});

	if (recoveryHeader) {
		recoveryHeader.classList.add('fc-mobile-header-recovered');
		['display', 'height', 'min-height', 'max-height', 'margin', 'padding', 'overflow'].forEach(function (property) {
			recoveryHeader.style.removeProperty(property);
		});
	}
	if (header) {
		header.style.setProperty('display', 'block', 'important');
		header.style.setProperty('height', 'auto', 'important');
		header.style.setProperty('max-height', 'none', 'important');
		header.style.setProperty('overflow', 'visible', 'important');
		var top = header.querySelector('.fc-hm5-top');
		var actions = header.querySelector('.fc-hm5-actions');
		var menu = header.querySelector('.fc-hm5-menu-toggle');
		var searchWrap = header.querySelector('.fc-hm5-search-wrap');
		if (top) top.style.setProperty('display', 'flex', 'important');
		if (actions) actions.style.setProperty('display', 'flex', 'important');
		if (menu) {
			menu.style.setProperty('display', 'inline-flex', 'important');
			menu.style.setProperty('visibility', 'visible', 'important');
			menu.style.setProperty('opacity', '1', 'important');
		}
		if (searchWrap) {
			searchWrap.style.setProperty('display', 'block', 'important');
			searchWrap.style.setProperty('position', 'relative', 'important');
			searchWrap.style.setProperty('clear', 'both', 'important');
			searchWrap.style.setProperty('width', '100%', 'important');
		}
	}

	if (!document.body.classList.contains('tax-product_cat')) return;

	var category = document.querySelector('.fclm-v9-subcategory, .fclm-v3-category');
	var hero = category ? category.querySelector('.fclm-v9-reference-hero') : document.querySelector('.fclm-v9-reference-hero');
	var source = category ? category.querySelector('.fclm-v9-copy p, .fclm-v3-hero-copy p') : document.querySelector('.fclm-v9-copy p, .fclm-v3-hero-copy p');
	var about = document.getElementById('fclm-category-about') || (category ? category.querySelector('.fclm-v3-about') : null);

	if (hero) {
		var image = hero.querySelector('img[data-src]');
		if (image) {
			var realSrc = image.getAttribute('data-src');
			if (realSrc) {
				image.setAttribute('src', realSrc);
				image.style.setProperty('opacity', '1', 'important');
				image.style.setProperty('visibility', 'visible', 'important');
			}
		}
	}

	document.querySelectorAll('.fclm-v3-cards-head,.fclm-v3-cards').forEach(function (node) {
		node.style.setProperty('display', 'none', 'important');
	});

	if (about && !about.classList.contains('fc-mobile-about-open')) about.style.setProperty('display', 'none', 'important');

	if (category && hero && source) {
		category.querySelectorAll('.fc-mobile-category-description').forEach(function (legacy) {
			legacy.remove();
		});

		var wrap = category.querySelector('.fc-v24-category-mobile-copy');
		if (!wrap) {
			wrap = document.createElement('div');
			wrap.className = 'fc-v24-category-mobile-copy';

			var p = document.createElement('p');
			p.textContent = String(source.textContent || '').replace(/\s+/g, ' ').trim();

			var learn = document.createElement('button');
			learn.type = 'button';
			learn.textContent = 'LEARN MORE';
			learn.setAttribute('aria-expanded', 'false');

			wrap.appendChild(p);
			wrap.appendChild(learn);
			hero.insertAdjacentElement('afterend', wrap);

			learn.addEventListener('click', function () {
				var open = learn.getAttribute('aria-expanded') !== 'true';
				learn.setAttribute('aria-expanded', open ? 'true' : 'false');
				learn.textContent = open ? 'CLOSE DESCRIPTION' : 'LEARN MORE';
				wrap.classList.toggle('is-expanded', open);

				if (about) {
					about.classList.toggle('fc-mobile-about-open', open);
					about.style.setProperty('display', open ? 'block' : 'none', 'important');
				}
			});
		}

		wrap.style.setProperty('display', 'block', 'important');
	}

	document.querySelectorAll('details.fclm-v9-filter-section[open]').forEach(function (details) { details.removeAttribute('open'); });
	document.body.classList.remove('fc-mobile-filters-open');
	var filterToggle = document.querySelector('.fclm-v9-filter-toggle');
	if (filterToggle) filterToggle.setAttribute('aria-expanded', 'false');

	var products = document.querySelector('.fclm-v9-shop-main ul.products, ul.products.columns-4');
	if (products) {
		products.style.setProperty('display', 'grid', 'important');
		products.style.setProperty('grid-template-columns', 'repeat(2,minmax(0,1fr))', 'important');
		products.style.setProperty('gap', '28px 16px', 'important');

		products.querySelectorAll('li.product').forEach(function (card) {
			card.style.setProperty('height', 'auto', 'important');
			card.style.setProperty('min-height', '0', 'important');
			card.style.setProperty('align-self', 'start', 'important');

			var link = card.querySelector('a.woocommerce-LoopProduct-link');
			if (link) {
				link.style.setProperty('height', 'auto', 'important');
				link.style.setProperty('min-height', '0', 'important');
				link.style.setProperty('display', 'flex', 'important');
				link.style.setProperty('flex-direction', 'column', 'important');
			}

			var image = card.querySelector('img[data-src]');
			if (image) {
				var imageSrc = image.getAttribute('data-src');
				if (imageSrc) {
					image.setAttribute('src', imageSrc);
					image.style.setProperty('opacity', '1', 'important');
					image.style.setProperty('visibility', 'visible', 'important');
				}
			}

			var productImage = card.querySelector('a.woocommerce-LoopProduct-link img');
			if (link && productImage && !productImage.parentElement.classList.contains('fc-htfw-image-frame')) {
				var frame = document.createElement('span');
				frame.className = 'fc-htfw-image-frame';
				link.insertBefore(frame, productImage);
				frame.appendChild(productImage);
			}
		});
	}
}

function syncMobileProductCarouselHeights() {
		if (!window.matchMedia || !window.matchMedia('(max-width:1023px)').matches) return;
		if (!document.body || !document.body.classList.contains('single-product')) return;

		document.querySelectorAll(
			'section.fcv5-discover .fcv5-discover-products.fcv5-scroll-row,' +
			'section.fcv5-recommend .fcv5-scroll-row'
		).forEach(function (row) {
			var cards = Array.prototype.slice.call(row.querySelectorAll(':scope > article.fcv5-card'));
			if (!cards.length) return;

			row.style.setProperty('height', 'auto', 'important');
			row.style.setProperty('min-height', '0', 'important');
			row.style.setProperty('max-height', 'none', 'important');
				row.style.setProperty('overflow-x', 'auto', 'important');
				row.style.setProperty('overflow-y', 'visible', 'important');
				row.style.setProperty('padding-bottom', '18px', 'important');

			cards.forEach(function (card) {
				card.style.setProperty('height', 'auto', 'important');
				card.style.setProperty('min-height', '0', 'important');
				card.style.setProperty('max-height', 'none', 'important');
				card.style.setProperty('display', 'flex', 'important');
				card.style.setProperty('flex-direction', 'column', 'important');
				Array.prototype.forEach.call(card.children, function (child) {
					child.style.setProperty('flex-shrink', '0', 'important');
				});
			});

			window.requestAnimationFrame(function () {
				var maxHeight = 0;
				cards.forEach(function (card) {
					var cardRect = card.getBoundingClientRect();
					var button = card.querySelector('.fcv5-card-button');
					var required = Math.max(card.scrollHeight, cardRect.height);
					if (button) {
						var buttonRect = button.getBoundingClientRect();
						required = Math.max(required, buttonRect.bottom - cardRect.top);
					}
					maxHeight = Math.max(maxHeight, Math.ceil(required));
				});

				if (maxHeight > 0) {
					cards.forEach(function (card) {
						card.style.setProperty('min-height', maxHeight + 'px', 'important');
					});
					row.style.setProperty('height', (maxHeight + 32) + 'px', 'important');
					row.style.setProperty('min-height', (maxHeight + 32) + 'px', 'important');
				}
			});
		});
	}

	function ensureMobileBasketStatus() {
		var status = document.getElementById('fc-mobile-basket-status');
		if (status) return status;
		status = document.createElement('div');
		status.id = 'fc-mobile-basket-status';
		status.setAttribute('role', 'status');
		status.setAttribute('aria-live', 'polite');
		status.style.cssText = 'position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:2147483000;background:#174A8B;color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;font-size:14px;line-height:1;box-shadow:0 6px 24px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity .15s ease;white-space:nowrap;';
		document.body.appendChild(status);
		return status;
	}

	function showMobileBasketStatus(text, duration) {
		var status = ensureMobileBasketStatus();
		status.textContent = text;
		status.style.opacity = '1';
		if (status._fcTimer) window.clearTimeout(status._fcTimer);
		if (duration) {
			status._fcTimer = window.setTimeout(function () {
				status.style.opacity = '0';
			}, duration);
		}
	}

	function restorePendingMobileBasketFeedback() {
		if (!window.sessionStorage) return;
		var raw = window.sessionStorage.getItem('fc_mobile_basket_pending');
		if (!raw) return;
		var pending = null;
		try { pending = JSON.parse(raw); } catch (_err) {}
		window.sessionStorage.removeItem('fc_mobile_basket_pending');
		if (!pending || !pending.time || (Date.now() - pending.time) > 12000) return;

		showMobileBasketStatus('ADDED ✓', 2200);
		var mainButton = document.querySelector('form.cart .fc-main-add-to-cart-button, form.cart .single_add_to_cart_button');
		if (mainButton) {
			var original = mainButton.innerHTML;
			mainButton.textContent = 'ADDED ✓';
			window.setTimeout(function () {
				mainButton.innerHTML = original;
			}, 1800);
		}
	}

	function bindMobileBasketFeedback() {
		if (!window.matchMedia || !window.matchMedia('(max-width:1023px)').matches) return;
		if (!document.body || !document.body.classList.contains('single-product')) return;

		var selector = 'form.cart .single_add_to_cart_button, a.add_to_cart_button, button.add_to_cart_button, .fcv5-card-button.add_to_cart_button';
		document.querySelectorAll(selector).forEach(function (button) {
			if (button.dataset.fcBasketFeedbackBound === '1') return;
			button.dataset.fcBasketFeedbackBound = '1';
			button.dataset.fcBasketOriginalHtml = button.innerHTML;

			var showAdding = function () {
				if (button.classList.contains('added')) return;
				button.setAttribute('aria-live', 'polite');
				if (button.dataset.fcAdding === '1') return;
					button.dataset.fcAdding = '1';
						showMobileBasketStatus('ADDING…');
						if (button.matches('form.cart .single_add_to_cart_button') && window.sessionStorage) {
							window.sessionStorage.setItem('fc_mobile_basket_pending', JSON.stringify({ time: Date.now() }));
						}
					button.textContent = 'ADDING…';
					var countNode = document.querySelector('.fc-mh-cart-count, .cart-contents .count');
					var startingCount = countNode ? countNode.textContent : null;
					if (countNode && window.MutationObserver) {
						var observer = new MutationObserver(function () {
							if (countNode.textContent !== startingCount) {
								observer.disconnect();
								button.textContent = 'ADDED ✓';
								button.classList.add('fc-basket-added');
								showMobileBasketStatus('ADDED ✓', 2200);
									button.dataset.fcAdding = '0';
								window.setTimeout(function () {
									button.innerHTML = button.dataset.fcBasketOriginalHtml || 'ADD TO BASKET';
									button.classList.remove('fc-basket-added');
								}, 1800);
							}
						});
						observer.observe(countNode, { childList: true, subtree: true, characterData: true });
						window.setTimeout(function () { observer.disconnect(); }, 8000);
					}
				window.setTimeout(function () {
					if (!button.classList.contains('added') && button.textContent === 'ADDING…') {
						button.innerHTML = button.dataset.fcBasketOriginalHtml || 'ADD TO BASKET';
					}
				}, 6000);
			};

			button.addEventListener('touchstart', showAdding, { passive: true });
			button.addEventListener('pointerdown', showAdding, { passive: true });
			button.addEventListener('click', showAdding);
		});

		if (window.jQuery && !document.body.dataset.fcBasketFeedbackEventBound) {
			document.body.dataset.fcBasketFeedbackEventBound = '1';
			window.jQuery(document.body).on('added_to_cart', function (_event, _fragments, _cartHash, $button) {
				var button = $button && $button[0] ? $button[0] : null;
				if (!button || !button.matches(selector)) return;
					showMobileBasketStatus('ADDED ✓', 2200);
				button.textContent = 'ADDED ✓';
				button.classList.add('fc-basket-added');
				window.setTimeout(function () {
					button.innerHTML = button.dataset.fcBasketOriginalHtml || 'ADD TO BASKET';
					button.classList.remove('fc-basket-added');
				}, 1800);
			});
		}
	}

	function submitMainBasketAjax(button, form) {
		var data = new FormData(form);
		var productId = button.dataset.fcProductId || button.value || data.get('add-to-cart') || data.get('product_id');
		if (productId) {
			data.set('product_id', productId);
			data.set('add-to-cart', productId);
		}
		if (!data.get('quantity')) data.set('quantity', '1');

		var endpoint = '/?wc-ajax=add_to_cart';
		if (window.wc_add_to_cart_params && window.wc_add_to_cart_params.wc_ajax_url) {
			endpoint = window.wc_add_to_cart_params.wc_ajax_url.replace('%%endpoint%%', 'add_to_cart');
		}

		fetch(endpoint, {
			method: 'POST',
			body: new URLSearchParams(data),
			credentials: 'same-origin',
			headers: { 'X-Requested-With': 'XMLHttpRequest' }
		}).then(function (response) {
			if (!response.ok) throw new Error('Add to basket failed');
			return response.text().then(function (text) {
					var jsonStart = text.indexOf('{\"fragments\"');
					if (jsonStart < 0) jsonStart = text.indexOf('{\"error\"');
					if (jsonStart < 0) throw new Error('Add to basket failed');
					var depth = 0, inString = false, escaped = false, jsonEnd = -1;
					for (var i = jsonStart; i < text.length; i++) {
						var ch = text.charAt(i);
						if (inString) {
							if (escaped) escaped = false;
							else if (ch === '\\\\') escaped = true;
							else if (ch === '\"') inString = false;
							continue;
						}
						if (ch === '\"') inString = true;
						else if (ch === '{') depth++;
						else if (ch === '}') {
							depth--;
							if (depth === 0) { jsonEnd = i + 1; break; }
						}
					}
					if (jsonEnd < 0) throw new Error('Add to basket failed');
					return JSON.parse(text.slice(jsonStart, jsonEnd));
				});
		}).then(function (response) {
			if (response && response.error) throw new Error('Add to basket failed');

			if (response && response.fragments) {
				Object.keys(response.fragments).forEach(function (selector) {
					try {
						document.querySelectorAll(selector).forEach(function (node) {
							var wrap = document.createElement('div');
							wrap.innerHTML = response.fragments[selector];
							var replacement = wrap.firstElementChild;
							if (replacement) node.replaceWith(replacement);
						});
					} catch (_err) {}
				});
			}

			button.textContent = 'ADDED ✓';
			showMobileBasketStatus('ADDED ✓', 2200);
			button.classList.add('fc-basket-added');
			if (window.sessionStorage) window.sessionStorage.removeItem('fc_mobile_basket_pending');

			window.setTimeout(function () {
				button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
				button.classList.remove('fc-basket-added');
				button.disabled = false;
				button.dataset.fcMainAdding = '0';
			}, 1800);
		}).catch(function () {
			button.textContent = 'TRY AGAIN';
			showMobileBasketStatus('TRY AGAIN', 2200);
			button.disabled = false;
			button.dataset.fcMainAdding = '0';
			if (window.sessionStorage) window.sessionStorage.removeItem('fc_mobile_basket_pending');
			window.setTimeout(function () {
				button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
			}, 1800);
		});
	}

	function submitMainBasketNativeAjax(button, form) {
		var productId = button.dataset.fcProductId || button.value || '';
		var qtyInput = form.querySelector('input.qty');
		var quantity = qtyInput ? (parseFloat(qtyInput.value) || 1) : 1;
		var countNode = document.querySelector('.fc-mh-cart-count, .cart-contents .count');
		var startingCount = countNode ? countNode.textContent : null;
		var finished = false;

		var finishSuccess = function () {
			if (finished) return;
			finished = true;
			button.textContent = 'ADDED ✓';
			showMobileBasketStatus('ADDED ✓', 2200);
			button.classList.add('fc-basket-added');
			button.disabled = false;
			button.dataset.fcMainAdding = '0';
			if (window.sessionStorage) window.sessionStorage.removeItem('fc_mobile_basket_pending');
			window.setTimeout(function () {
				button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
				button.classList.remove('fc-basket-added');
			}, 1800);
		};

		var observer = null;
		if (countNode && window.MutationObserver) {
			observer = new MutationObserver(function () {
				if (countNode.textContent !== startingCount) {
					observer.disconnect();
					finishSuccess();
				}
			});
			observer.observe(countNode, { childList: true, subtree: true, characterData: true });
		}

		var trigger = document.createElement('a');
		trigger.href = '?add-to-cart=' + encodeURIComponent(productId);
		trigger.className = 'button add_to_cart_button ajax_add_to_cart fc-main-native-trigger';
		trigger.setAttribute('data-product_id', productId);
		trigger.setAttribute('data-quantity', String(quantity));
		trigger.setAttribute('aria-hidden', 'true');
		trigger.tabIndex = -1;
		trigger.style.display = 'none';
		document.body.appendChild(trigger);
		trigger.click();

		window.setTimeout(function () {
			if (trigger.parentNode) trigger.parentNode.removeChild(trigger);
			if (observer) observer.disconnect();
			if (!finished) {
				button.textContent = 'TRY AGAIN';
				showMobileBasketStatus('TRY AGAIN', 2200);
				button.disabled = false;
				button.dataset.fcMainAdding = '0';
				if (window.sessionStorage) window.sessionStorage.removeItem('fc_mobile_basket_pending');
				window.setTimeout(function () {
					button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
				}, 1800);
			}
		}, 8000);
	}

	function bindMobileMainProductBasket() {
		if (!window.matchMedia || !window.matchMedia('(max-width:1023px)').matches) return;
		if (!document.body || !document.body.classList.contains('single-product')) return;

		var button = document.querySelector('form.cart .single_add_to_cart_button');
		if (!button || button.dataset.fcMainBasketBound === '1') return;
		var form = button.closest('form.cart');
		if (!form) return;

			var cleanButton = button.cloneNode(true);
			cleanButton.type = 'button';
			cleanButton.removeAttribute('name');
			cleanButton.classList.remove('single_add_to_cart_button', 'add_to_cart_button', 'ajax_add_to_cart', 'loading', 'added');
			cleanButton.classList.add('fc-main-add-to-cart-button');
				cleanButton.innerHTML = '<svg class="fc-main-basket-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 9h16l-1.5 10h-13z"></path><path d="M8 9l3-5M16 9l-3-5"></path></svg><span>ADD TO BASKET</span>';
			cleanButton.dataset.fcProductId = button.value || '';
			button.replaceWith(cleanButton);
			button = cleanButton;

		button.dataset.fcMainBasketBound = '1';
		button.dataset.fcMainBasketOriginalHtml = button.innerHTML;

		var handleMainAdd = function (event) {
			event.preventDefault();
			event.stopPropagation();
			if (event.stopImmediatePropagation) event.stopImmediatePropagation();
			if (button.dataset.fcMainAdding === '1') return false;

			button.dataset.fcMainAdding = '1';
			button.setAttribute('aria-live', 'polite');
			button.textContent = 'ADDING…';
			showMobileBasketStatus('ADDING…');
				if (window.sessionStorage) {
					window.sessionStorage.setItem('fc_mobile_basket_pending', JSON.stringify({ time: Date.now() }));
				}
				button.disabled = true;

			var nativeProductId = button.dataset.fcProductId || button.value || '';
			var addField = form.querySelector('input[name="add-to-cart"][data-fc-main-add]');
			if (!addField) {
				addField = document.createElement('input');
				addField.type = 'hidden';
				addField.name = 'add-to-cart';
				addField.setAttribute('data-fc-main-add', '1');
				form.appendChild(addField);
			}
			addField.value = nativeProductId;
			window.setTimeout(function () {
				submitMainBasketNativeAjax(button, form);
			}, 450);
			return false;

			var data = new FormData(form);
			var productId = button.value || data.get('add-to-cart') || data.get('product_id');
			if (productId) {
				data.set('product_id', productId);
				data.delete('add-to-cart');
			}
			if (!data.get('quantity')) data.set('quantity', '1');

			var endpoint = '/?wc-ajax=add_to_cart';
			if (window.wc_add_to_cart_params && window.wc_add_to_cart_params.wc_ajax_url) {
				endpoint = window.wc_add_to_cart_params.wc_ajax_url.replace('%%endpoint%%', 'add_to_cart');
			}

			fetch(endpoint, {
				method: 'POST',
				body: new URLSearchParams(data),
				credentials: 'same-origin',
				headers: { 'X-Requested-With': 'XMLHttpRequest' }
			}).then(function (response) {
				if (!response.ok) throw new Error('Add to basket failed');
				return response.text().then(function (text) {
					var jsonStart = text.indexOf('{\"fragments\"');
					if (jsonStart < 0) jsonStart = text.indexOf('{\"error\"');
					if (jsonStart < 0) throw new Error('Add to basket failed');

					var depth = 0;
					var inString = false;
					var escaped = false;
					var jsonEnd = -1;
					for (var i = jsonStart; i < text.length; i++) {
						var ch = text.charAt(i);
						if (inString) {
							if (escaped) escaped = false;
							else if (ch === '\\\\') escaped = true;
							else if (ch === '\"') inString = false;
							continue;
						}
						if (ch === '\"') {
							inString = true;
						} else if (ch === '{') {
							depth++;
						} else if (ch === '}') {
							depth--;
							if (depth === 0) {
								jsonEnd = i + 1;
								break;
							}
						}
					}
					if (jsonEnd < 0) throw new Error('Add to basket failed');
					return JSON.parse(text.slice(jsonStart, jsonEnd));
				});
			}).then(function (response) {
				if (response && response.error && response.product_url) {
					window.location.href = response.product_url;
					return;
				}

				if (response && response.fragments) {
					Object.keys(response.fragments).forEach(function (selector) {
						try {
							document.querySelectorAll(selector).forEach(function (node) {
								var wrap = document.createElement('div');
								wrap.innerHTML = response.fragments[selector];
								var replacement = wrap.firstElementChild;
								if (replacement) node.replaceWith(replacement);
							});
						} catch (_err) {}
					});
				}

				if (window.jQuery) {
					window.jQuery(document.body).trigger('added_to_cart', [
						response ? response.fragments : {},
						response ? response.cart_hash : '',
						window.jQuery(button)
					]);
				}

				button.textContent = 'ADDED ✓';
				button.classList.add('fc-basket-added');
				window.setTimeout(function () {
					button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
					button.classList.remove('fc-basket-added');
					button.disabled = false;
					button.dataset.fcMainAdding = '0';
				}, 1800);
			}).catch(function (error) {
				if (window.console && console.error) console.error('FC_MAIN_ADD_ERROR', error && error.message ? error.message : error);
				button.textContent = 'TRY AGAIN';
				button.disabled = false;
				button.dataset.fcMainAdding = '0';
				window.setTimeout(function () {
					button.innerHTML = button.dataset.fcMainBasketOriginalHtml || 'ADD TO BASKET';
				}, 1800);
			});
			return false;
		};

		button.addEventListener('click', handleMainAdd, true);

			var blockEarly = function (event) {
				var target = event.target && event.target.closest ? event.target.closest('form.cart .single_add_to_cart_button') : null;
				if (target !== button) return;
				event.stopPropagation();
				if (event.stopImmediatePropagation) event.stopImmediatePropagation();
			};

			document.addEventListener('touchstart', blockEarly, true);
			document.addEventListener('pointerdown', blockEarly, true);
			document.addEventListener('click', function (event) {
				var target = event.target && event.target.closest ? event.target.closest('form.cart .single_add_to_cart_button') : null;
				if (target !== button) return;
				handleMainAdd(event);
			}, true);
		form.addEventListener('submit', function (event) {
			if (button.dataset.fcMainAdding === '1') {
				event.preventDefault();
				event.stopPropagation();
				if (event.stopImmediatePropagation) event.stopImmediatePropagation();
			}
		}, true);
	}

	function syncMobileMainProductGallery() {
			if (!window.matchMedia || !window.matchMedia('(max-width:1023px)').matches) return;
			if (!document.body || !document.body.classList.contains('single-product')) return;

			var gallery = document.querySelector('.woocommerce-product-gallery');
			if (!gallery) return;

			var width = gallery.getBoundingClientRect().width;
			if (!width) return;

			/* HTFW reference: 327 x 506px at a 390px viewport. */
			var height = Math.round(width * (506 / 327));

			gallery.style.setProperty('height', height + 'px', 'important');
			gallery.style.setProperty('min-height', height + 'px', 'important');
			gallery.style.setProperty('max-height', height + 'px', 'important');
			gallery.style.setProperty('overflow', 'hidden', 'important');

			var wrapper = gallery.querySelector('.woocommerce-product-gallery__wrapper');
			var imageWrap = gallery.querySelector('.woocommerce-product-gallery__image');
			var anchor = imageWrap ? imageWrap.querySelector('a') : null;
			[wrapper, imageWrap, anchor].forEach(function (node) {
				if (!node) return;
				node.style.setProperty('width', '100%', 'important');
				node.style.setProperty('height', height + 'px', 'important');
				node.style.setProperty('min-height', height + 'px', 'important');
				node.style.setProperty('max-height', height + 'px', 'important');
			});

			if (anchor) {
				anchor.style.setProperty('padding', '0', 'important');
				anchor.style.setProperty('display', 'flex', 'important');
				anchor.style.setProperty('align-items', 'center', 'important');
				anchor.style.setProperty('justify-content', 'center', 'important');
			}

			var image = gallery.querySelector('.woocommerce-product-gallery__image img.wp-post-image');
			if (image) {
				image.style.setProperty('width', 'auto', 'important');
				image.style.setProperty('height', '100%', 'important');
				image.style.setProperty('max-width', '100%', 'important');
				image.style.setProperty('max-height', '100%', 'important');
				image.style.setProperty('margin', '0 auto', 'important');
				image.style.setProperty('object-fit', 'contain', 'important');
				image.style.setProperty('object-position', 'center center', 'important');
			}
		}

		function applyTags() {
			forceExactMobileParity();
			buildV5StagedMenu();
				syncMobileProductCarouselHeights();
				bindMobileMainProductBasket();
					restorePendingMobileBasketFeedback();
				bindMobileBasketFeedback();
					syncMobileMainProductGallery();
				
			
		tagHeader();
		tagSearch();
		tagBrowseBy();
		tagHorizontalScrollers();
		tagNewsletter();
		tagDrawer();
		ensureStagedMobileMenu();
		ensureMobileRating();
	}

	if (document.readyState === 'loading') {
		document.addEventListener('DOMContentLoaded', applyTags, { once: true });
	} else {
		applyTags();
	}

	/* The newsletter teaser can be injected after initial page render. */
	window.setTimeout(applyTags, 500);
	window.setTimeout(applyTags, 1500);
	window.setTimeout(applyTags, 3000);
})();
</script>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://firstchoiceliquormarts.com/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-1.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-2.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-3.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-4.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-5.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-6.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-7.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-8.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-9.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-10.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-11.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-posts-product-12.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-taxonomies-product_brand-1.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-taxonomies-product_cat-1.xml</loc></sitemap><sitemap><loc>https://firstchoiceliquormarts.com/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
