/** Shopify CDN: Minification failed

Line 16:0 Unexpected "<"
Line 19:5 Expected identifier but found "%"
Line 20:54 Unexpected "<"
Line 23:5 Expected identifier but found "%"
Line 24:4 Unexpected "<"
Line 28:5 Expected identifier but found "%"
Line 28:39 Unexpected "-"
Line 28:60 Expected identifier but found "%"
Line 29:4 Unexpected "<"
Line 35:7 Unexpected "{"
... and 302 more hidden warnings

**/
<!doctype html>
<html lang="{{ request.locale.iso_code }}" class="no-js">
  <head>
    {%- comment -%}
      Charset and viewport must be the first thing in <head>. The browser needs
      charset inside the first 1024 bytes; the Booster ASCII banner used to push
      it past that, so the banner now sits at the end of the head.
    {%- endcomment -%}
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">

    {%- comment -%} Connection warm-up - earlier is better {%- endcomment -%}
    <link href="https://static.boostertheme.co" rel="preconnect" crossorigin>
    <link rel="dns-prefetch" href="//static.boostertheme.co">
    <link href="https://theme.boostertheme.com" rel="preconnect" crossorigin>
    <link rel="dns-prefetch" href="//theme.boostertheme.com">

    <title>
      {{ page_title }}{% if current_tags %} &ndash; tagged "{{ current_tags | join: ', ' }}"{% endif %}{% if current_page != 1 %} &ndash; Page {{ current_page }}{% endif %}{% unless page_title contains shop.name %} &ndash; {{ shop.name }}{% endunless %}
    </title>

    {%- if page_description -%}
      <meta name="description" content="{{ page_description | escape }}">
    {%- endif -%}

    {%- comment -%} ------------------------------------------------------------
      INDEXING RULES
      Tag pages and metafield-flagged collections are noindexed and canonicalised
      back to the parent. Everything else self-canonicalises.
    ------------------------------------------------------------ {%- endcomment -%}
    {%- if current_tags -%}
      <meta name="robots" content="noindex,follow">
      {%- if collection -%}
        <link rel="canonical" href="{{ shop.url }}{{ collection.url }}">
      {%- elsif blog -%}
        <link rel="canonical" href="{{ shop.url }}{{ blog.url }}">
      {%- else -%}
        <link rel="canonical" href="{{ canonical_url }}">
      {%- endif -%}
    {%- elsif collection.metafields.custom.noindex -%}
      <meta name="robots" content="noindex,follow">
      <link rel="canonical" href="{{ canonical_url }}">
    {%- else -%}
      <link rel="canonical" href="{{ canonical_url }}">
    {%- endif -%}

    {% render 'layout__favicon' %}

    {{ content_for_header }}

    <style>
      {% render 'global-scss' %}
      {% render 'styles-css' %}
      {% render 'font-style' %}
    </style>

    {% unless settings.headHTML == blank %}
      {{ settings.headHTML }}
    {% endunless %}
    {% unless settings.headJS == blank %}
      <script>
        {{ settings.headJS }}
      </script>
    {% endunless %}
    {% render 'layout__custom-code--head' %}

    <link rel="preload" as="style" href="{{ 'swiper-bundle.min.css' | asset_url }}" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="{{ 'swiper-bundle.min.css' | asset_url }}"></noscript>
    <link rel="preload" as="style" href="{{ 'unicons.css' | asset_url }}" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="{{ 'unicons.css' | asset_url }}"></noscript>

    <script src="{{ 'swiper-bundle.min.js' | asset_url }}" defer="defer"></script>
    <script src="{{ 'global.js' | asset_url }}" defer="defer"></script>

    {%- comment -%} ------------------------------------------------------------
      PAGE-SCOPED STYLESHEETS

      custom.css is sitewide and always loads first. Everything after it is
      scoped to one template or one page handle.

      RULE: always match on `template.name`, never `template contains`.
      `template contains 'product'` also matches any collection or page whose
      SUFFIX contains the word "product" - which is how a collection template
      ends up loading product-page.css.

      To add a page: add a `when` to the inner page.handle case.
    ------------------------------------------------------------ {%- endcomment -%}

    {{ 'custom.css' | asset_url | stylesheet_tag }}

    {%- case template.name -%}

      {%- when 'index' -%}
        {{ 'home-page.css' | asset_url | stylesheet_tag }}

      {%- when 'product' -%}
        {{ 'product-page.css' | asset_url | stylesheet_tag }}

      {%- when 'collection' -%}
        {{ 'collection-template.css' | asset_url | stylesheet_tag }}

      {%- when 'list-collections' -%}
        {{ 'collections-list.css' | asset_url | stylesheet_tag }}

      {%- when 'cart' -%}
        {{ 'cart-page.css' | asset_url | stylesheet_tag }}

      {%- when 'page' -%}
        {%- case page.handle -%}
          {%- when 'about-us' -%}
            {{ 'about-page.css' | asset_url | stylesheet_tag }}
          {%- when 'contact-us' -%}
            {{ 'contact-page.css' | asset_url | stylesheet_tag }}
            {%- render 'local-business-schema' -%}
          {%- when 'faqs' -%}
            {{ 'faq-page.css' | asset_url | stylesheet_tag }}
          {%- when 'customer-reviews' -%}
            {{ 'reviews-page.css' | asset_url | stylesheet_tag }}
        {%- endcase -%}

    {%- endcase -%}

    {%- if request.page_type == 'policy' -%}
      {{ 'policy-page.css' | asset_url | stylesheet_tag }}
    {%- endif -%}

    {%- comment -%} ------------------------------------------------------------
      STRUCTURED DATA
      Breadcrumbs sitewide. Organization / LocalBusiness / WebSite on the
      homepage only, as a single @graph so the nodes can reference each other.
      Deliberately no aggregateRating anywhere - self-serving review markup is
      not eligible for rich results.
    ------------------------------------------------------------ {%- endcomment -%}

    {%- render 'breadcrumb-schema' -%}

    {%- if template.name == 'index' -%}
      <script type="application/ld+json">
      {
        "@context": "https://schema.org",
        "@graph": [
          {
            "@type": "Organization",
            "@id": "{{ shop.url }}/#organization",
            "name": "Seven Scents",
            "url": "{{ shop.url }}/",
            "logo": "/cdn/shop/files/seven-scents-logo-navy.webp?v=1786081031",
            "sameAs": [
              "https://www.instagram.com/sevenscents.nz/",
              "https://www.facebook.com/sevenscents.nz/"
            ]
          },
          {
            "@type": "LocalBusiness",
            "@id": "{{ shop.url }}/#localbusiness",
            "name": "Seven Scents",
            "image": "/cdn/shop/files/Seven_Scents_LYALL_BAY.avif?v=1784413007",
            "url": "{{ shop.url }}/",
            "telephone": "+64 7 394 6108",
            "priceRange": "$$",
            "parentOrganization": { "@id": "{{ shop.url }}/#organization" },
            "address": {
              "@type": "PostalAddress",
              "streetAddress": "34/70 Kingsford Smith Street, Lyall Bay Junction",
              "addressLocality": "Wellington",
              "postalCode": "6022",
              "addressCountry": "NZ"
            },
            "geo": { "@type": "GeoCoordinates", "latitude": -41.3276, "longitude": 174.7996 },
            "openingHoursSpecification": [{
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday","Saturday"],
              "opens": "10:00", "closes": "16:00"
            }]
          },
          {
            "@type": "WebSite",
            "@id": "{{ shop.url }}/#website",
            "url": "{{ shop.url }}/",
            "name": "Seven Scents",
            "publisher": { "@id": "{{ shop.url }}/#organization" },
            "potentialAction": {
              "@type": "SearchAction",
              "target": "{{ shop.url }}/search?q={search_term_string}",
              "query-input": "required name=search_term_string"
            }
          }
        ]
      }
      </script>
    {%- endif -%}
<!--
888888b.                              888                88888888888 888
888  "88b                             888                    888     888
888  .88P                             888                    888     888
8888888K.   .d88b.   .d88b.  .d8888b  888888 .d88b.  888d888 888     88888b.   .d88b.  88888b.d88b.   .d88b.
888  "Y88b d88""88b d88""88b 88K      888   d8P  Y8b 888P"   888     888 "88b d8P  Y8b 888 "888 "88b d8P  Y8b
888    888 888  888 888  888 "Y8888b. 888   88888888 888     888     888  888 88888888 888  888  888 88888888
888   d88P Y88..88P Y88..88P      X88 Y88b. Y8b.     888     888     888  888 Y8b.     888  888  888 Y8b.
8888888P"   "Y88P"   "Y88P"   88888P'  "Y888 "Y8888  888     888     888  888  "Y8888  888  888  888  "Y8888
-->
  </head>

  <body class="template--{{ template }}">
    <div class="container">
      <div class="container__top-part">
        {% section 'top-info-bar' %}

        <div id="booster__popup--holder" class="booster__popup--holder"></div>

        {% if template.suffix == 'no-header' or template.suffix == 'landing-no-header' %}
        {% elsif template.suffix == 'landing-alt-header' %}
          {% section 'header-alt' %}
        {% else %}
          {% case settings.headerType %}
            {% when 'default' %}
              {% section 'header--default' %}
            {% when 'inline-search' %}
              {% section 'header--inline-search' %}
            {% when 'logo-top' %}
              {% section 'header--logo-top' %}
            {% when 'sidebar' %}
              {% section 'header--sidebar' %}
          {% endcase %}
        {% endif %}

        {% section 'bottom-info-bar' %}
      </div>

      <div id="quickbuy__modal" class="modal"><div onclick="closeModal(event)" class="overlay"></div><div class="content"></div></div>

      {% if settings.recentlyBought %}
        <a id="recently-bought--holder" class="recently-bought--holder {% unless settings.recentlyBoughtMobile -%}hide-mobile{%- endunless -%}">
          <div class="recently-bought--img-ratio"><div class="recently-bought--img"><img src=""></div></div>
          <div class="recently-bought--info">
            <div class="recently-bought--who"></div>
            <div class="recently-bought--what"></div>
            <div class="recently-bought--price"><span class="current-price"></span><span class="old-price"></span></div>
            <div class="recently-bought--when"></div>
          </div>
        </a>
        <script>
          const recentlyBoughtConfig = { useNames: {{ settings.recentlyBoughtNames }}, nameFormat: '{{ settings.recentlyBoughtNameFormat }}', allProductsUrl: '{{ routes.all_products_collection_url }}' }
        </script>
      {% endif %}

      <div class="add-to-cart__success--holder modal">
        {% unless settings.cartAction == 'message' %}<div onclick="closeModal(event)" class="overlay add-to-cart__success--overlay"></div>{% endunless %}
        <div class="add-to-cart__success" id="checkout--success">
          {% render 'add-to-cart__template--success' %}
        </div>
      </div>

      {% render 'layout__template--specific' %}

      <main role="main">
        {{ content_for_layout }}

        <div class="wrapper--bottom">
          {% sections 'footer-group' %}
        </div>
      </main>
    </div>

    {% render 'layout__app--code' %}
    {% render 'layout__bstr--constants' %}

    {% if settings.productCompare %}
      {% render 'product-compare--drawer' %}
    {% endif %}

    {% if settings.backTopBtn %}
      {% render 'scroll_top_button' %}
    {% endif %}

    {{ '/services/javascripts/currencies.js' | script_tag }}

    {%- comment -%} Remove the .min extension to serve the unminified build {%- endcomment -%}
    <script src="{{ 'booster.min.js' | asset_url }}" defer="defer"></script>

    {% unless settings.bodyHTML == blank %}
      {{ settings.bodyHTML }}
    {% endunless %}
    {% unless settings.bodyCSS == blank %}
      <style>
        {{ settings.bodyCSS }}
      </style>
    {% endunless %}
    {% unless settings.bodyJS == blank %}
      <script>
        {{ settings.bodyJS }}
      </script>
    {% endunless %}

    {% if settings.reviewApp == "alireviews" or settings.jQuery %}
      <script
        src="https://code.jquery.com/jquery-3.5.1.min.js"
        integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
        crossorigin="anonymous" defer="defer">
      </script>
    {% endif %}
    {% if template.name == 'product' and settings.jQuery %}
      <script src="{{ 'jquery.zoom.min.js' | asset_url }}" type="text/javascript" defer="defer"></script>
    {% endif %}

    {% render 'layout__custom-code--body' %}

    {% if settings.discount_popup_enable %}
      {% render 'discount_popup' %}
    {% endif %}

    {% if settings.productCompare %}
      {% render 'product-compare-modal' %}
      <div class="product-compare-modal--overlay" data-compare-product-modal-overlay></div>
    {% endif %}

    {% render 'floating--socials' %}

    {%- comment -%} ------------------------------------------------------------
      AFTERPAY MINICART - recalculates the instalment to include shipping.
      Custom code, not Booster. Move to a snippet if it grows.
    ------------------------------------------------------------ {%- endcomment -%}
    <script>
      function updateMinicartAfterpay() {
        const afterpayDiv = document.querySelector('.afterpay-minicart');
        if (!afterpayDiv) return;

        const minicartTotalElement = document.querySelector('.minicart__total .jsPrice');
        if (!minicartTotalElement) return;

        const totalText = minicartTotalElement.textContent.trim();
        const match = totalText.match(/[\$]?([\d,]+\.?\d*)/);
        if (!match) return;

        const totalDollars = parseFloat(match[1].replace(',', ''));

        if (totalDollars < 1 || totalDollars > 2000) {
          afterpayDiv.style.display = 'none';
          return;
        }

        afterpayDiv.style.display = 'block';
        const paymentAmount = (totalDollars / 4).toFixed(2);

        const strongTag = afterpayDiv.querySelector('strong');
        if (strongTag) {
          strongTag.textContent = '$' + paymentAmount;
        }
      }

      document.addEventListener('booster:minicart:open', function() {
        setTimeout(updateMinicartAfterpay, 1000);
        setTimeout(updateMinicartAfterpay, 2000);
      });

      document.addEventListener('booster:cart:update', function() {
        setTimeout(updateMinicartAfterpay, 1000);
      });

      document.addEventListener('booster:minicart:open', function() {
        setTimeout(function() {
          const minicartTotal = document.querySelector('.minicart__total .jsPrice');
          if (minicartTotal) {
            const observer = new MutationObserver(function() {
              updateMinicartAfterpay();
            });
            observer.observe(minicartTotal, {
              childList: true,
              characterData: true,
              subtree: true
            });
          }
        }, 500);
      });
    </script>
  </body>
</html>