How to Add a Mega Menu With Images in Shopify Trade Theme - eCommerce Thesis

How to Add a Mega Menu With Images in Shopify Trade Theme

๐ŸŽ‰ Want to Upgrade Your Shopify Store Navigation? Hereโ€™s How to Add a Stunning Mega Menu with Images in the Trade Theme โ€“ With Free Code + Video Guide! ๐Ÿ›๏ธ๐Ÿ’ก

If you’re using the Shopify Trade Theme and looking for a way to improve your storeโ€™s navigation, then youโ€™re in the right place! This blog post will teach you how to create a professional-looking Mega Menu with images โ€” without any paid apps or complex coding knowledge! ๐Ÿ’ปโœจ

Weโ€™ve included: ๐Ÿ“น A Step-by-Step Video Tutorial โ€“ Watch and follow along as we build the menu live.
๐Ÿ’พ FREE Code Snippet โ€“ Just copy and paste into your theme; no guesswork needed.
๐Ÿ–ผ๏ธ Image Support โ€“ Add featured product photos, collection banners, or icons to make your menu pop.
๐Ÿ“ฑ Fully Responsive โ€“ Looks great on desktop AND mobile devices.
โš™๏ธ Built Specifically for the Trade Theme โ€“ No generic code, itโ€™s tailored for compatibility and clean design.


โœ… Why Add a Mega Menu With Images?

Mega menus are not just about looking good โ€“ they deliver real value:

  • ๐Ÿ” Better User Experience โ€“ Help customers find products faster with clear visual cues.
  • ๐Ÿš€ Increased Conversion Rates โ€“ Highlight key collections or promotions right in your menu.
  • ๐ŸŽฏ Improved Navigation โ€“ Make your store easier to explore, especially if you have many categories.
  • ๐Ÿ“ธ Visual Impact โ€“ Showcase product photos, icons, or banners to catch the customerโ€™s eye.
  • ๐Ÿ”ง No App Needed โ€“ Save money by avoiding monthly subscriptions.

๐Ÿ”ง What Youโ€™ll Learn in This Blog:

  • How to structure your navigation for a mega menu layout
  • Where and how to paste the code snippet
  • How to upload and display menu images
  • How to style your mega menu with CSS for a clean, modern look
  • How to make it responsive and mobile-friendly

Whether you’re a Shopify beginner or an experienced store owner, this guide is perfect for you. We’ve made it simple, beginner-friendly, and 100% free to implement! ๐ŸŽ

๐Ÿšจ Donโ€™t forget to watch the full video for visual guidance, and grab your free code below the video to start customizing your own mega menu today!

๐Ÿ“Œ Bookmark this post and share it with your fellow Shopify store owners โ€” itโ€™s a game-changer!

Step 1: Create Collection Metafield

Create a new Collection Metafield with following properties:

  • Name: Image
  • Type: File
  • Namespace: custom.image

Step 2: Add Schema Code

Add the following schema code in header.liquid file after "dropdown" : "t:sections.header.settings.menu_type_desktop.label" }, line of code

{
  "type": "select",
  "id": "mega_menu_images_toggle",
  "options": [
    {
      "value": "none",
      "label": "None"
    },
    {
      "value": "metafield",
      "label": "Metafield"
    }
  ],
  "default": "none",
  "label": "Mega menu collection image type"
},
{
  "type": "checkbox",
  "id": "mega_menu_images_title",
  "label": "Hide the collection title (when mega menu images is active)",
  "default": false
},
{
  "type": "checkbox",
  "id": "megamenu_backdrop_toggle",
  "label": "Add overlay when megamenu is open",
  "default": true
},
{
  "type": "select",
  "id": "dropdown_menu_images_toggle",
  "options": [
    {
      "value": "none",
      "label": "None"
    },
    {
      "value": "metafield",
      "label": "Metafield"
    }
  ],
  "default": "none",
  "label": "Dropdown menu collection image type"
},
{
  "type": "select",
  "id": "drawer_menu_images_toggle",
  "options": [
    {
      "value": "none",
      "label": "None"
    },
    {
      "value": "metafield",
      "label": "Metafield"
    }
  ],
  "default": "none",
  "label": "Drawer menu collection image type"
},
{
  "type": "range",
  "id": "menu_images_size",
  "label": "Menu Image Size",
  "info": "Applies to drawer and dropdown menu",
  "default": 60,
  "min": 50,
  "max": 100,
  "step": 1,
  "unit": "px"
},
{
  "type": "checkbox",
  "id": "menu_images_border_toggle",
  "label": "Enable Menu Border",
  "info": "Use with Dropdown and Drawer menu with images",
  "default": false
},
{
  "type": "color",
  "id": "menu_images_border_color",
  "label": "Menu Images Border Color",
  "default": "#eaeaea"
},

Step 3: Create snippet files

Create a new snippet file megamenu-image-custom.liquid and add following code on this file:

<ul class="mega-menu__list megamenu-with-image page-width">
  {%- for childlink in link.links -%}
    {% assign image_url = '' %}
    {% if menu_images_toggle == 'metafield' and childlink.object and childlink.object.metafields.custom.image != blank %}
      {% assign image_url = childlink.object.metafields.custom.image | img_url: 'master' %}
    {% endif %}
    
    <li>
      <div class="mega-menu__column">
        {% if image_url != blank %}
          <a href="{{ childlink.url }}">
            <img src="{{ image_url }}" alt="{{ childlink.title | escape }}" class="mega-menu__image">
          </a>
        {% endif %}
        <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}" href="{{ childlink.url }}" class="mega-menu__link mega-menu__link--level-2 link{% if childlink.current %} mega-menu__link--active{% endif %} {% if menu_titles_toggle %}hide-title{% endif %}" {% if childlink.current %} aria-current="page" {% endif %}>
          {{ childlink.title | escape }}
        </a>
      </div>
    </li>
  {%- endfor -%}
</ul>


<style>

  .mega-menu__image {
    width: 100%;
    border-radius: 10px; /* Adjust the radius value as needed (ex: 10px for rounded corners, 0px for square corners, 50% makes the image a circle) */
    object-fit: cover; 
    aspect-ratio: 1 / 1;
  }

  .mega-menu__column {
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center;
    text-align: center;
  }

.mega-menu__list.megamenu-with-image {
  justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(calc((100% - (5 * 4rem)) / 6), calc((100% - (5 * 4rem)) / 6)));
}

.mega-menu__link.hide-title {
  display: none; 
}

.menu-backdrop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5); 
  z-index: 3; 
}

</style>

{% if megamenu_backdrop_toggle %}

  <style>
  #menu-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 3;
  }
  </style>
  
  <script>
  document.addEventListener('DOMContentLoaded', function () {
    const menuBackdrop = document.getElementById('menu-backdrop');
    document.querySelectorAll('.mega-menu').forEach(function(megaMenu) {
      megaMenu.addEventListener('toggle', function () {
        const isAnyMenuOpen = [...document.querySelectorAll('.mega-menu')].some(menu => menu.hasAttribute('open'));
        menuBackdrop.style.display = isAnyMenuOpen ? 'block' : 'none';
      });
    });
    menuBackdrop.addEventListener('click', function () {
      document.querySelectorAll('.mega-menu').forEach(function(megaMenu) {
        megaMenu.removeAttribute('open');
      });
      menuBackdrop.style.display = 'none';
    });
  });
  
  </script>

{% endif %}

Create a new snippet menu-image-custom.liquid and add the following code into this file:

{% if menu_images_toggle != 'none' %}
  {% assign menu_image_url = '' %}
  {% if menu_images_toggle == 'metafield' %}
    {% if link.object.metafields.custom.image %}
      {% assign menu_image_url = link.object.metafields.custom.image | image_url: width: menu_images_size, height: menu_images_size %}
      <img src="{{ menu_image_url }}" alt="{{ link.title | escape }}" class="header-menu-image">
    {% endif %}
  {% endif %}
{% endif %}

<style>

  {% if menu_images_toggle and menu_images_border_toggle %}
    .menu-drawer__menu {
      list-style: none;
      padding-left: 0; /* Remove default padding */
    }
    
    .menu-drawer__menu li {
      border-top: 1px solid {{ menu_images_border_color }};
    }
    
    .menu-drawer__menu li:last-child {
      border-bottom: 1px solid {{ menu_images_border_color }};
    }  
    
    .header__submenu > li:not(:last-child) {
      border-bottom: 1px solid {{ menu_images_border_color }};
    }
    
    .header__submenu.header__submenu > li:not(:last-child) {
      border-bottom: 1px solid {{ menu_images_border_color }};
    }
    
    .header__submenu.list-menu {
      padding: 0;
    }
    .header__submenu.header__submenu {
      margin: 0;
    }
  
  {% endif %}
    
  .header-menu-image {
    margin-left: auto; /* This ensures that the link (image) is pushed to the far right */
  }
  
  .list-menu--disclosure.list-menu--images {
    width: {{ menu_dropdown_width }}rem;
  }

</style>

Step 4: Replace Code in header-mega-menu.liquid

Replace code in header-mega-menu.liquid file with the following code:

{% comment %}
  Renders a megamenu for the header.

  Usage:
  {% render 'header-mega-menu' %}
{% endcomment %}

<nav class="header__inline-menu">
  <ul class="list-menu list-menu--inline" role="list">
    {%- for link in section.settings.menu.links -%}
      <li>
        {%- if link.links != blank -%}
          <header-menu>
            <details id="Details-HeaderMenu-{{ forloop.index }}" class="mega-menu">
              <summary
                id="HeaderMenu-{{ link.handle }}"
                class="header__menu-item list-menu__item link focus-inset"
              >
                <span
                  {%- if link.child_active %}
                    class="header__active-menu-item"
                  {% endif %}
                >
                  {{- link.title | escape -}}
                </span>
                {{- 'icon-caret.svg' | inline_asset_content -}}
              </summary>
              <div
                id="MegaMenu-Content-{{ forloop.index }}"
                class="mega-menu__content color-{{ section.settings.menu_color_scheme }} gradient motion-reduce global-settings-popup"
                tabindex="-1"
              >
                {% if section.settings.menu_type_desktop == 'mega'
                  and section.settings.mega_menu_images_toggle != 'none'
                %}
                  {% render 'megamenu-image-custom',
                    link: link,
                    menu_images_toggle: section.settings.mega_menu_images_toggle,
                    menu_titles_toggle: section.settings.mega_menu_images_title,
                    megamenu_backdrop_toggle: section.settings.megamenu_backdrop_toggle
                  %}
                {% else %}
                  <ul
                    class="mega-menu__list page-width{% if link.levels == 1 %} mega-menu__list--condensed{% endif %}"
                    role="list"
                  >
                    {%- for childlink in link.links -%}
                      <li>
                        <a
                          id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}"
                          href="{{ childlink.url }}"
                          class="mega-menu__link mega-menu__link--level-2 link{% if childlink.current %} mega-menu__link--active{% endif %}"
                          {% if childlink.current %}
                            aria-current="page"
                          {% endif %}
                        >
                          {{ childlink.title | escape }}
                        </a>
                        {%- if childlink.links != blank -%}
                          <ul class="list-unstyled" role="list">
                            {%- for grandchildlink in childlink.links -%}
                              <li>
                                <a
                                  id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}"
                                  href="{{ grandchildlink.url }}"
                                  class="mega-menu__link link{% if grandchildlink.current %} mega-menu__link--active{% endif %}"
                                  {% if grandchildlink.current %}
                                    aria-current="page"
                                  {% endif %}
                                >
                                  {{ grandchildlink.title | escape }}
                                </a>
                              </li>
                            {%- endfor -%}
                          </ul>
                        {%- endif -%}
                      </li>
                    {%- endfor -%}
                  </ul>
                {% endif %}
              </div>
            </details>
          </header-menu>
        {%- else -%}
          <a
            id="HeaderMenu-{{ link.handle }}"
            href="{{ link.url }}"
            class="header__menu-item list-menu__item link link--text focus-inset"
            {% if link.current %}
              aria-current="page"
            {% endif %}
          >
            <span
              {%- if link.current %}
                class="header__active-menu-item"
              {% endif %}
            >
              {{- link.title | escape -}}
            </span>
          </a>
        {%- endif -%}
      </li>
    {%- endfor -%}
  </ul>
</nav>

Step 5: Replace code in header-drawer.liquid file

Replace code in header-drawer.liquid with the following code:

{% comment %}
  Renders a header drawer menu for mobile and desktop.

  Usage:
  {% render 'header-drawer' %}
{% endcomment %}

<style>
  ul.menu-drawer__menu.has-submenu.list-menu li a,
  ul.menu-drawer__menu.has-submenu.list-menu summary{
    color: black !important;
  }
</style>

<header-drawer data-breakpoint="{% if section.settings.menu_type_desktop == 'drawer' %}desktop{% else %}tablet{% endif %}">
  <details id="Details-menu-drawer-container" class="menu-drawer-container">
    <summary
      class="header__icon header__icon--menu header__icon--summary link focus-inset"
      aria-label="{{ 'sections.header.menu' | t }}"
    >
      <span>
        {{- 'icon-hamburger.svg' | inline_asset_content -}}
        {{- 'icon-close.svg' | inline_asset_content -}}
      </span>
    </summary>
    <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-{{ section.settings.menu_color_scheme }}">
      <div class="menu-drawer__inner-container">
        <div class="menu-drawer__navigation-container">
          <nav class="menu-drawer__navigation">
            <ul class="menu-drawer__menu has-submenu list-menu" role="list">
              {%- for link in section.settings.menu.links -%}
                <li>
                  {%- if link.links != blank -%}
                    <details id="Details-menu-drawer-menu-item-{{ forloop.index }}">
                      <summary
                        id="HeaderDrawer-{{ link.handle }}"
                        class="menu-drawer__menu-item list-menu__item link link--text focus-inset{% if link.child_active %} menu-drawer__menu-item--active{% endif %}"
                      >
                        {{ link.title | escape }}
                        {% render 'menu-image-custom',
                          link: link,
                          menu_images_toggle: section.settings.drawer_menu_images_toggle,
                          menu_images_size: section.settings.menu_images_size,
                          menu_images_border_toggle: section.settings.menu_images_border_toggle,
                          menu_images_border_color: section.settings.menu_images_border_color
                        %}
                        {{- 'icon-arrow.svg' | inline_asset_content -}}
                        {{- 'icon-caret.svg' | inline_asset_content -}}
                      </summary>
                      <div
                        id="link-{{ link.handle | escape }}"
                        class="menu-drawer__submenu has-submenu gradient motion-reduce"
                        tabindex="-1"
                      >
                        <div class="menu-drawer__inner-submenu">
                          <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
                            {{- 'icon-arrow.svg' | inline_asset_content -}}
                            {{ link.title | escape }}
                          </button>
                          <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
                            {%- for childlink in link.links -%}
                              <li>
                                {%- if childlink.links == blank -%}
                                  <a
                                    id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}"
                                    href="{{ childlink.url }}"
                                    class="menu-drawer__menu-item link link--text list-menu__item focus-inset{% if childlink.current %} menu-drawer__menu-item--active{% endif %}"
                                    {% if childlink.current %}
                                      aria-current="page"
                                    {% endif %}
                                  >
                                    {{ childlink.title | escape }}

                                    {% render 'menu-image-custom',
                                      link: childlink,
                                      menu_images_toggle: section.settings.drawer_menu_images_toggle,
                                      menu_images_size: section.settings.menu_images_size,
                                      menu_images_border_toggle: section.settings.menu_images_border_toggle,
                                      menu_images_border_color: section.settings.menu_images_border_color
                                    %}
                                  </a>
                                {%- else -%}
                                  <details id="Details-menu-drawer-{{ link.handle }}-{{ childlink.handle }}">
                                    <summary
                                      id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}"
                                      class="menu-drawer__menu-item link link--text list-menu__item focus-inset"
                                    >
                                      {{ childlink.title | escape }}
                                      {% render 'menu-image-custom',
                                        link: childlink,
                                        menu_images_toggle: section.settings.drawer_menu_images_toggle,
                                        menu_images_size: section.settings.menu_images_size,
                                        menu_images_border_toggle: section.settings.menu_images_border_toggle,
                                        menu_images_border_color: section.settings.menu_images_border_color
                                      %}
                                     {{- 'icon-arrow.svg' | inline_asset_content -}}
                                     {{- 'icon-caret.svg' | inline_asset_content -}}
                                    </summary>
                                    <div
                                      id="childlink-{{ childlink.handle | escape }}"
                                      class="menu-drawer__submenu has-submenu gradient motion-reduce"
                                    >
                                      <button
                                        class="menu-drawer__close-button link link--text focus-inset"
                                        aria-expanded="true"
                                      >
                                        {{- 'icon-arrow.svg' | inline_asset_content -}}
                                        {{ childlink.title | escape }}
                                        {% render 'menu-image-custom',
                                          link: childlink,
                                          menu_images_toggle: section.settings.drawer_menu_images_toggle,
                                          menu_images_size: section.settings.menu_images_size,
                                          menu_images_border_toggle: section.settings.menu_images_border_toggle,
                                          menu_images_border_color: section.settings.menu_images_border_color
                                        %}
                                      </button>
                                      <ul
                                        class="menu-drawer__menu list-menu"
                                        role="list"
                                        tabindex="-1"
                                      >
                                        {%- for grandchildlink in childlink.links -%}
                                          <li>
                                            <a
                                              id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}"
                                              href="{{ grandchildlink.url }}"
                                              class="menu-drawer__menu-item link link--text list-menu__item focus-inset{% if grandchildlink.current %} menu-drawer__menu-item--active{% endif %}"
                                              {% if grandchildlink.current %}
                                                aria-current="page"
                                              {% endif %}
                                            >
                                              {{ grandchildlink.title | escape }}
                                              {% render 'menu-image-custom',
                                                link: grandchildlink,
                                                menu_images_toggle: section.settings.drawer_menu_images_toggle,
                                                menu_images_size: section.settings.menu_images_size,
                                                menu_images_border_toggle: section.settings.menu_images_border_toggle,
                                                menu_images_border_color: section.settings.menu_images_border_color
                                              %}
                                            </a>
                                          </li>
                                        {%- endfor -%}
                                      </ul>
                                    </div>
                                  </details>
                                {%- endif -%}
                              </li>
                            {%- endfor -%}
                          </ul>
                        </div>
                      </div>
                    </details>
                  {%- else -%}
                    <a
                      id="HeaderDrawer-{{ link.handle }}"
                      href="{{ link.url }}"
                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset{% if link.current %} menu-drawer__menu-item--active{% endif %}"
                      {% if link.current %}
                        aria-current="page"
                      {% endif %}
                    >
                      {{ link.title | escape }}
                      {% render 'menu-image-custom',
                        link: link,
                        menu_images_toggle: section.settings.drawer_menu_images_toggle,
                        menu_images_size: section.settings.menu_images_size,
                        menu_images_border_toggle: section.settings.menu_images_border_toggle,
                        menu_images_border_color: section.settings.menu_images_border_color
                      %}
                    </a>
                  {%- endif -%}
                </li>
              {%- endfor -%}
            </ul>
          </nav>
          <div class="menu-drawer__utility-links">
            {%- if shop.customer_accounts_enabled -%}
              <a
                href="{%- if customer -%}{{ routes.account_url }}{%- else -%}{{ routes.account_login_url }}{%- endif -%}"
                class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide"
              >
                <account-icon>
                  {%- if customer and customer.has_avatar? -%}
                    {{ customer | avatar }}
                  {%- else -%}
                    {{- 'icon-account.svg' | inline_asset_content -}}
                  {%- endif -%}
                </account-icon>
                {%- liquid
                  if customer
                    echo 'customer.account_fallback' | t
                  else
                    echo 'customer.log_in' | t
                  endif
                -%}
              </a>
            {%- endif -%}
            {%- if localization.available_countries or localization.available_languages -%}
              <div class="menu-drawer__localization header-localization">
                {%- if localization.available_countries and localization.available_countries.size > 1 -%}
                  <localization-form>
                    {%- form 'localization', id: 'HeaderCountryMobileForm', class: 'localization-form' -%}
                      <div>
                        <h2 class="visually-hidden" id="HeaderCountryMobileLabel">
                          {{ 'localization.country_label' | t }}
                        </h2>
                        {%- render 'country-localization', localPosition: 'HeaderCountryMobile' -%}
                      </div>
                    {%- endform -%}
                  </localization-form>
                {% endif %}

                {%- if localization.available_languages and localization.available_languages.size > 1 -%}
                  <localization-form>
                    {%- form 'localization', id: 'HeaderLanguageMobileForm', class: 'localization-form' -%}
                      <div>
                        <h2 class="visually-hidden" id="HeaderLanguageMobileLabel">
                          {{ 'localization.language_label' | t }}
                        </h2>
                        {%- render 'language-localization', localPosition: 'HeaderLanguageMobile' -%}
                      </div>
                    {%- endform -%}
                  </localization-form>
                {%- endif -%}
              </div>
            {%- endif -%}
            <ul class="list list-social list-unstyled" role="list">
              {%- if settings.social_twitter_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_twitter_link }}" class="list-social__link link">
                    {{- 'icon-twitter.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.twitter' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_facebook_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_facebook_link }}" class="list-social__link link">
                    {{- 'icon-facebook.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.facebook' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_pinterest_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_pinterest_link }}" class="list-social__link link">
                    {{- 'icon-pinterest.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.pinterest' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_instagram_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_instagram_link }}" class="list-social__link link">
                    {{- 'icon-instagram.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.instagram' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_tiktok_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_tiktok_link }}" class="list-social__link link">
                    {{- 'icon-tiktok.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.tiktok' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_tumblr_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_tumblr_link }}" class="list-social__link link">
                    {{- 'icon-tumblr.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.tumblr' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_snapchat_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_snapchat_link }}" class="list-social__link link">
                    {{- 'icon-snapchat.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.snapchat' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_youtube_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_youtube_link }}" class="list-social__link link">
                    {{- 'icon-youtube.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.youtube' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
              {%- if settings.social_vimeo_link != blank -%}
                <li class="list-social__item">
                  <a href="{{ settings.social_vimeo_link }}" class="list-social__link link">
                    {{- 'icon-vimeo.svg' | inline_asset_content -}}
                    <span class="visually-hidden">{{ 'general.social.links.vimeo' | t }}</span>
                  </a>
                </li>
              {%- endif -%}
            </ul>
          </div>
        </div>
      </div>
    </div>
  </details>
</header-drawer>

Step 6: Replace code in header-dropdown-menu.liquid

Replace header-dropdown-menu.liquid code with the following code:

{% comment %}
  Renders a standard dropdown style menu for the header.

  Usage:
  {% render 'header-dropdown-menu' %}
{% endcomment %}

<nav class="header__inline-menu">
  <ul class="list-menu list-menu--inline" role="list">
    {%- for link in section.settings.menu.links -%}
      <li>
        {%- if link.links != blank -%}
          <header-menu>
            <details id="Details-HeaderMenu-{{ forloop.index }}">
              <summary
                id="HeaderMenu-{{ link.handle }}"
                class="header__menu-item list-menu__item link focus-inset"
              >
                <span
                  {%- if link.child_active %}
                    class="header__active-menu-item"
                  {% endif %}
                >
                  {{- link.title | escape -}}
                </span>
                {{- 'icon-caret.svg' | inline_asset_content -}}
              </summary>
              <ul
                id="HeaderMenu-MenuList-{{ forloop.index }}"
                class="header__submenu list-menu list-menu--disclosure list-menu-images color-{{ section.settings.menu_color_scheme }} gradient caption-large motion-reduce global-settings-popup"
                role="list"
                tabindex="-1"
              >
                {%- for childlink in link.links -%}
                  <li>
                    {%- if childlink.links == blank -%}
                      <a
                        id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}"
                        href="{{ childlink.url }}"
                        class="header__menu-item list-menu__item link link--text focus-inset caption-large{% if childlink.current %} list-menu__item--active{% endif %}"
                        {% if childlink.current %}
                          aria-current="page"
                        {% endif %}
                      >
                        {{ childlink.title | escape }}
                        {% render 'menu-image-custom',
                          link: childlink,
                          menu_images_toggle: section.settings.dropdown_menu_images_toggle,
                          menu_dropdown_width: section.settings.menu_dropdown_width,
                          menu_images_size: section.settings.menu_images_size,
                          menu_images_border_toggle: section.settings.menu_images_border_toggle,
                          menu_images_border_color: section.settings.menu_images_border_color
                        %}
                      </a>
                    {%- else -%}
                      <details id="Details-HeaderSubMenu-{{ link.handle }}-{{ childlink.handle }}">
                        <summary
                          id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}"
                          class="header__menu-item link link--text list-menu__item focus-inset caption-large"
                        >
                          <span>{{ childlink.title | escape }}</span>
                          {% render 'menu-image-custom',
                            link: childlink,
                            menu_images_toggle: section.settings.dropdown_menu_images_toggle,
                            menu_dropdown_width: section.settings.menu_dropdown_width,
                            menu_images_size: section.settings.menu_images_size,
                            menu_images_border_toggle: section.settings.menu_images_border_toggle,
                            menu_images_border_color: section.settings.menu_images_border_color
                          %}

                          {{- 'icon-caret.svg' | inline_asset_content -}}
                        </summary>
                        <ul
                          id="HeaderMenu-SubMenuList-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}"
                          class="header__submenu list-menu motion-reduce"
                        >
                          {%- for grandchildlink in childlink.links -%}
                            <li>
                              <a
                                id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}"
                                href="{{ grandchildlink.url }}"
                                class="header__menu-item list-menu__item link link--text focus-inset caption-large{% if grandchildlink.current %} list-menu__item--active{% endif %}"
                                {% if grandchildlink.current %}
                                  aria-current="page"
                                {% endif %}
                              >
                                {{ grandchildlink.title | escape }}
                                {% render 'menu-image-custom',
                                  link: grandchildlink,
                                  menu_images_toggle: section.settings.dropdown_menu_images_toggle,
                                  menu_dropdown_width: section.settings.menu_dropdown_width,
                                  menu_images_size: section.settings.menu_images_size,
                                  menu_images_border_toggle: section.settings.menu_images_border_toggle,
                                  menu_images_border_color: section.settings.menu_images_border_color
                                %}
                              </a>
                            </li>
                          {%- endfor -%}
                        </ul>
                      </details>
                    {%- endif -%}
                  </li>
                {%- endfor -%}
              </ul>
            </details>
          </header-menu>
        {%- else -%}
          <a
            id="HeaderMenu-{{ link.handle }}"
            href="{{ link.url }}"
            class="header__menu-item list-menu__item link link--text focus-inset"
            {% if link.current %}
              aria-current="page"
            {% endif %}
          >
            <span
              {%- if link.current %}
                class="header__active-menu-item"
              {% endif %}
            >
              {{- link.title | escape -}}
            </span>
          </a>
        {%- endif -%}
      </li>
    {%- endfor -%}
  </ul>
</nav>

Step 7: Add code in theme.liquid file

Add the following code in theme.liquid file after <body line

<div id="menu-backdrop"></div>