<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><?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://digitaledgellc.tech/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-post-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-2.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-3.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-4.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-5.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-6.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-7.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-8.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-9.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-10.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-11.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-posts-product-12.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-taxonomies-category-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-taxonomies-product_brand-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-taxonomies-product_cat-1.xml</loc></sitemap><sitemap><loc>https://digitaledgellc.tech/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
