/** Shopify CDN: Minification failed

Line 16:0 Unexpected "{"
Line 16:1 Expected identifier but found "%"
Line 18:7 Expected identifier but found whitespace
Line 18:16 Unexpected "/"
Line 25:1 Expected identifier but found "%"
Line 27:0 Unexpected "{"
Line 27:1 Unexpected "{"
Line 27:3 Expected identifier but found "'longacre-footer.css'"
Line 29:0 Unexpected "<"
Line 41:15 Expected identifier but found whitespace
... and 290 more hidden warnings

**/
{% comment %}
  Longacre — Footer Section
  File: sections/longacre-footer.liquid
  ADA: WCAG 2.1 AA compliant — landmark, focus states, semantic HTML
  Custom fonts: Cubano, Mont, Montserrat, Proxima Nova (Reg & Semibold), Bourton

  PHONE + EMAIL (Block-based):
  Add a "Contact info" block to display phone and email.
  Phone/email can pull from store settings or use custom values.
{% endcomment %}

{{ 'longacre-footer.css' | asset_url | stylesheet_tag }}

<style>
  @font-face { font-family: 'Cubano'; src: url('{{ 'Cubano-Regular.otf' | asset_url }}') format('opentype'); font-weight: normal; font-style: normal; font-display: swap; }
  @font-face { font-family: 'Mont'; src: url('{{ 'Mont-SemiBold.ttf' | asset_url }}') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
  @font-face { font-family: 'Montserrat'; src: url('{{ 'Montserrat-Bold.ttf' | asset_url }}') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
  @font-face { font-family: 'Proxima Nova'; src: url('{{ 'Proxima Nova Reg.otf' | asset_url }}') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
  @font-face { font-family: 'Proxima Nova Semibold'; src: url('{{ 'Proxima Nova Sbold.otf' | asset_url }}') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
  @font-face { font-family: 'Bourton'; src: url('{{ 'Bourton-Hand-Base.otf' | asset_url }}') format('opentype'); font-weight: normal; font-style: normal; font-display: swap; }

  .longacre-footer .lsec-divider {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    margin-top: {{ section.settings.divider_margin_top }}px;
  }

  .lfooter__contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .lfooter__contact-link {
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .lfooter__contact-link:hover,
  .lfooter__contact-link:focus-visible { opacity: 0.75; }
</style>

<footer
  class="longacre-footer"
  role="contentinfo"
  aria-label="Site footer"
  style="
    background-color: {{ section.settings.bg_color }};
    color: {{ section.settings.text_color }};
    padding-top: {{ section.settings.padding_top }}px;
    padding-bottom: {{ section.settings.padding_bottom }}px;
  "
>
  <div class="lfooter__container" style="
    max-width: {{ section.settings.max_width }}px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: {{ section.settings.text_align }};
  ">

    {%- if section.settings.show_divider and section.settings.divider_image != blank -%}
      <div class="lsec-divider" aria-hidden="true">
        <img
          src="{{ section.settings.divider_image | image_url: width: 2400 }}"
          alt=""
          width="2400"
          height="100"
          loading="lazy"
          style="opacity: {{ section.settings.divider_opacity | divided_by: 100.0 }}; display: block; width: 100%; height: auto;"
        />
      </div>
    {%- endif -%}

    {%- comment %} ─── BLOCKS GRID ─── {% endcomment %}
    {%- if section.blocks.size > 0 -%}
      {%- assign visible_blocks = 0 -%}
      {%- for block in section.blocks -%}
        {%- if block.type == 'text' and section.settings.show_text_block -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- elsif block.type == 'link_list' and section.settings.show_link_list -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- elsif block.type == 'social' and section.settings.show_social_block -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- elsif block.type == 'newsletter' and section.settings.show_newsletter_block -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- elsif block.type == 'payment_icons' and section.settings.show_payment_block -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- elsif block.type == 'contact_info' and section.settings.show_contact_info_block -%}
          {%- assign visible_blocks = visible_blocks | plus: 1 -%}
        {%- endif -%}
      {%- endfor -%}

      {%- if visible_blocks > 0 -%}
        <div class="lfooter__grid" style="
          display: grid;
          grid-template-columns: repeat({{ visible_blocks | at_most: 4 }}, 1fr);
          gap: {{ section.settings.grid_gap }}px;
          margin-top: {{ section.settings.grid_margin_top }}px;
          margin-bottom: {{ section.settings.grid_margin_bottom }}px;
        ">
          {%- for block in section.blocks -%}

            {%- if block.type == 'text' and section.settings.show_text_block -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                {%- if block.settings.heading != blank -%}
                  <h2 class="lfooter__block-heading" style="font-family: '{{ block.settings.heading_font }}', sans-serif; font-size: {{ block.settings.heading_size }}px; color: {{ block.settings.heading_color | default: section.settings.heading_color }}; margin-bottom: {{ block.settings.heading_margin_bottom }}px;">{{ block.settings.heading }}</h2>
                {%- endif -%}
                <div class="lfooter__block-text" style="font-family: '{{ block.settings.body_font }}', sans-serif; font-size: {{ block.settings.body_size }}px; color: {{ block.settings.body_color | default: section.settings.text_color }}; line-height: 1.6;">{{ block.settings.text }}</div>
              </div>

            {%- elsif block.type == 'link_list' and section.settings.show_link_list -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                {%- if block.settings.heading != blank -%}
                  <h2 class="lfooter__block-heading" style="font-family: '{{ block.settings.heading_font }}', sans-serif; font-size: {{ block.settings.heading_size }}px; color: {{ block.settings.heading_color | default: section.settings.heading_color }}; margin-bottom: {{ block.settings.heading_margin_bottom }}px;">{{ block.settings.heading }}</h2>
                {%- endif -%}
                {%- assign menu = block.settings.menu -%}
                {%- if menu.links.size > 0 -%}
                  <ul class="lfooter__menu" style="list-style: none; padding: 0; margin: 0; font-family: '{{ block.settings.link_font }}', sans-serif; font-size: {{ block.settings.link_size }}px;">
                    {%- for link in menu.links -%}
                      <li style="margin-bottom: {{ block.settings.link_margin_bottom }}px;">
                        <a href="{{ link.url }}" style="color: {{ block.settings.link_color | default: section.settings.link_color }}; text-decoration: {{ block.settings.link_decoration }}; transition: color 0.2s ease;">{{ link.title }}</a>
                      </li>
                    {%- endfor -%}
                  </ul>
                {%- endif -%}
              </div>

            {%- elsif block.type == 'social' and section.settings.show_social_block -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                {%- if block.settings.heading != blank -%}
                  <h2 class="lfooter__block-heading" style="font-family: '{{ block.settings.heading_font }}', sans-serif; font-size: {{ block.settings.heading_size }}px; color: {{ block.settings.heading_color | default: section.settings.heading_color }}; margin-bottom: {{ block.settings.heading_margin_bottom }}px;">{{ block.settings.heading }}</h2>
                {%- endif -%}
                <div class="lfooter__social" style="display: flex; gap: {{ block.settings.social_gap }}px; justify-content: {{ section.settings.text_align }};">
                  {%- if settings.social_instagram_link != blank -%}
                    <a href="{{ settings.social_instagram_link }}" target="_blank" rel="noopener noreferrer" aria-label="Instagram (opens in new tab)" style="color: {{ block.settings.icon_color | default: section.settings.link_color }}; text-decoration: none; transition: color 0.2s ease;">
                      <span class="visually-hidden">Instagram</span>
                      <svg xmlns="http://www.w3.org/2000/svg" width="{{ block.settings.icon_size }}" height="{{ block.settings.icon_size }}" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/></svg>
                    </a>
                  {%- endif -%}
                  {%- if settings.social_facebook_link != blank -%}
                    <a href="{{ settings.social_facebook_link }}" target="_blank" rel="noopener noreferrer" aria-label="Facebook (opens in new tab)" style="color: {{ block.settings.icon_color | default: section.settings.link_color }}; text-decoration: none; transition: color 0.2s ease;">
                      <span class="visually-hidden">Facebook</span>
                      <svg xmlns="http://www.w3.org/2000/svg" width="{{ block.settings.icon_size }}" height="{{ block.settings.icon_size }}" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
                    </a>
                  {%- endif -%}
                  {%- if settings.social_tiktok_link != blank -%}
                    <a href="{{ settings.social_tiktok_link }}" target="_blank" rel="noopener noreferrer" aria-label="TikTok (opens in new tab)" style="color: {{ block.settings.icon_color | default: section.settings.link_color }}; text-decoration: none; transition: color 0.2s ease;">
                      <span class="visually-hidden">TikTok</span>
                      <svg xmlns="http://www.w3.org/2000/svg" width="{{ block.settings.icon_size }}" height="{{ block.settings.icon_size }}" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.76-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.3-.69.3-1.06.09-1.59-.05-3.19-.03-4.79.02-.07.07-.11.14-.11 1.05.06 2.1.07 3.15.05.02 1.48.04 2.96.06 4.44z"/></svg>
                    </a>
                  {%- endif -%}
                </div>
              </div>

            {%- elsif block.type == 'newsletter' and section.settings.show_newsletter_block -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                {%- if block.settings.heading != blank -%}
                  <h2 class="lfooter__block-heading" style="font-family: '{{ block.settings.heading_font }}', sans-serif; font-size: {{ block.settings.heading_size }}px; color: {{ block.settings.heading_color | default: section.settings.heading_color }}; margin-bottom: {{ block.settings.heading_margin_bottom }}px;">{{ block.settings.heading }}</h2>
                {%- endif -%}
                {%- if block.settings.text != blank -%}
                  <p class="lfooter__block-text" style="font-family: '{{ block.settings.body_font }}', sans-serif; font-size: {{ block.settings.body_size }}px; color: {{ block.settings.body_color | default: section.settings.text_color }}; margin-bottom: {{ block.settings.body_margin_bottom }}px; line-height: 1.6;">{{ block.settings.text }}</p>
                {%- endif -%}
                {%- form 'customer', id: 'longacre-footer-newsletter', class: 'lfooter__newsletter-form' -%}
                  <input type="hidden" name="contact[tags]" value="newsletter" />
                  <div style="display: flex; flex-wrap: wrap; gap: 8px; max-width: 400px;">
                    <label for="footer-newsletter-email" class="visually-hidden">Email address</label>
                    <input
                      type="email"
                      id="footer-newsletter-email"
                      name="contact[email]"
                      placeholder="{{ block.settings.input_placeholder }}"
                      required
                      aria-required="true"
                      autocomplete="email"
                      style="flex: 1; min-width: 180px; padding: 10px 14px; font-family: '{{ block.settings.input_font }}', sans-serif; font-size: {{ block.settings.input_size }}px; border: 2px solid {{ block.settings.input_border_color | default: section.settings.border_color }}; background: {{ block.settings.input_bg | default: 'rgba(255,255,255,0.1)' }}; color: {{ block.settings.input_color | default: section.settings.text_color }}; border-radius: {{ block.settings.input_border_radius }}px; outline: none; min-height: 44px;"
                    />
                    <button type="submit" style="font-family: '{{ block.settings.button_font }}', sans-serif; font-size: {{ block.settings.button_size }}px; padding: 10px 20px; background-color: {{ block.settings.button_bg | default: section.settings.button_bg }}; color: {{ block.settings.button_color | default: section.settings.button_color }}; border: 2px solid {{ block.settings.button_border_color | default: section.settings.button_bg }}; border-radius: {{ block.settings.button_border_radius }}px; cursor: pointer; min-height: 44px; white-space: nowrap; transition: opacity 0.2s ease;">{{ block.settings.button_label }}</button>
                  </div>
                {%- endform -%}
              </div>

            {%- elsif block.type == 'payment_icons' and section.settings.show_payment_block -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                <div class="lfooter__payments" style="display: flex; flex-wrap: wrap; gap: {{ block.settings.icon_gap }}px; justify-content: {{ section.settings.text_align }}; margin-top: {{ block.settings.margin_top }}px;">
                  {%- for type in shop.enabled_payment_types -%}
                    <span class="payment-icon" style="color: {{ block.settings.icon_color | default: section.settings.text_color }}; line-height: 1;">{{ type | payment_type_svg_tag }}</span>
                  {%- endfor -%}
                </div>
              </div>

                       {%- elsif block.type == 'contact_info' and section.settings.show_contact_info_block -%}
              <div class="lfooter__block" {{ block.shopify_attributes }}>
                {%- if block.settings.heading != blank -%}
                  <h2 class="lfooter__block-heading" style="font-family: '{{ block.settings.heading_font | default: "Cubano" }}', sans-serif; font-size: {{ block.settings.heading_size }}px; color: {{ block.settings.heading_color | default: section.settings.heading_color }}; margin-bottom: {{ block.settings.heading_margin_bottom }}px;">{{ block.settings.heading }}</h2>
                {%- endif -%}

                {%- assign has_phone = false -%}
                {%- assign has_email = false -%}
                {%- if block.settings.contact_phone_source == 'store' and shop.phone != blank -%}
                  {%- assign has_phone = true -%}
                  {%- assign display_phone = shop.phone -%}
                {%- elsif block.settings.contact_phone_source == 'custom' and block.settings.contact_phone_custom != blank -%}
                  {%- assign has_phone = true -%}
                  {%- assign display_phone = block.settings.contact_phone_custom -%}
                {%- endif -%}
                {%- if block.settings.contact_email_source == 'store' and shop.email != blank -%}
                  {%- assign has_email = true -%}
                  {%- assign display_email = shop.email -%}
                {%- elsif block.settings.contact_email_source == 'custom' and block.settings.contact_email_custom != blank -%}
                  {%- assign has_email = true -%}
                  {%- assign display_email = block.settings.contact_email_custom -%}
                {%- endif -%}

                {%- if has_phone or has_email -%}
                  <div style="display: flex; flex-direction: column; gap: {{ block.settings.contact_gap }}px;">
                    {%- if has_phone -%}
                      <div class="lfooter__contact-item">
                        {%- if block.settings.show_contact_labels -%}
                          <span class="lfooter__contact-label" style="font-family: '{{ block.settings.label_font | default: "Proxima Nova Semibold" }}', sans-serif; font-size: {{ block.settings.label_size }}px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: {{ block.settings.label_color | default: section.settings.text_color }}; flex-shrink: 0;">{{ block.settings.phone_label }}</span>
                        {%- endif -%}
                        <a href="tel:{{ display_phone | remove: ' ' | remove: '-' | remove: '(' | remove: ')' }}" class="lfooter__contact-link" style="font-family: '{{ block.settings.value_font | default: "Proxima Nova" }}', sans-serif; font-size: {{ block.settings.value_size }}px; color: {{ block.settings.value_color | default: section.settings.text_color }};">
                          {{ display_phone }}
                        </a>
                      </div>
                    {%- endif -%}
                    {%- if has_email -%}
                      <div class="lfooter__contact-item">
                        {%- if block.settings.show_contact_labels -%}
                          <span class="lfooter__contact-label" style="font-family: '{{ block.settings.label_font | default: "Proxima Nova Semibold" }}', sans-serif; font-size: {{ block.settings.label_size }}px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: {{ block.settings.label_color | default: section.settings.text_color }}; flex-shrink: 0;">{{ block.settings.email_label }}</span>
                        {%- endif -%}
                        <a href="mailto:{{ display_email }}" class="lfooter__contact-link" style="font-family: '{{ block.settings.value_font | default: "Proxima Nova" }}', sans-serif; font-size: {{ block.settings.value_size }}px; color: {{ block.settings.value_color | default: section.settings.text_color }};">
                          {{ display_email }}
                        </a>
                      </div>
                    {%- endif -%}
                  </div>
                {%- endif -%}
              </div>
      {%- endif -%}
    {%- endif -%}

    {%- comment %} ─── BOTTOM BAR ─── {% endcomment %}
    <div class="lfooter__bottom" style="border-top: 1px solid {{ section.settings.border_color }}; padding-top: {{ section.settings.bottom_padding_top }}px; margin-top: {{ section.settings.bottom_margin_top }}px; font-family: '{{ section.settings.bottom_font }}', sans-serif; font-size: {{ section.settings.bottom_size }}px; color: {{ section.settings.bottom_text_color | default: section.settings.text_color }}; text-align: {{ section.settings.text_align }};">
      <p style="margin: 0;">
        &copy; {{ 'now' | date: '%Y' }} {{ shop.name }}. All rights reserved.
        {%- if section.settings.show_legal -%}
          <span style="display: inline-block; margin-left: 8px;">
            {%- if section.settings.privacy_url != blank -%}
              <a href="{{ section.settings.privacy_url }}" style="color: inherit; text-decoration: underline; margin: 0 4px;">Privacy Policy</a>
            {%- endif -%}
            {%- if section.settings.terms_url != blank -%}
              <a href="{{ section.settings.terms_url }}" style="color: inherit; text-decoration: underline; margin: 0 4px;">Terms of Service</a>
            {%- endif -%}
          </span>
        {%- endif -%}
      </p>
    </div>

  </div>
</footer>

{% schema %}
{
  "name": "Longacre Footer",
  "class": "section",
  "max_blocks": 6,
  "settings": [
    { "type": "header", "content": "Colors" },
    { "type": "color", "id": "bg_color", "label": "Background color", "default": "#2c2c24" },
    { "type": "color", "id": "text_color", "label": "Text color", "default": "#d2dec7" },
    { "type": "color", "id": "heading_color", "label": "Heading color", "default": "#d2dec7" },
    { "type": "color", "id": "link_color", "label": "Link color", "default": "#d2dec7" },
    { "type": "color", "id": "border_color", "label": "Border color", "default": "rgba(210, 222, 199, 0.2)" },

    { "type": "header", "content": "Layout" },
    {
      "type": "select", "id": "text_align", "label": "Text alignment", "default": "left",
      "options": [
        { "value": "left", "label": "Left" }, { "value": "center", "label": "Center" },
        { "value": "right", "label": "Right" }
      ]
    },
    { "type": "range", "id": "max_width", "min": 800, "max": 1400, "step": 20, "unit": "px", "label": "Max width", "default": 1200 },
    { "type": "range", "id": "grid_gap", "min": 16, "max": 80, "step": 4, "unit": "px", "label": "Grid gap", "default": 40 },
    { "type": "range", "id": "grid_margin_top", "min": 0, "max": 80, "step": 4, "unit": "px", "label": "Grid top margin", "default": 40 },
    { "type": "range", "id": "grid_margin_bottom", "min": 0, "max": 80, "step": 4, "unit": "px", "label": "Grid bottom margin", "default": 40 },

    { "type": "header", "content": "Show/Hide Blocks" },
    { "type": "checkbox", "id": "show_text_block", "label": "Show text block", "default": true },
    { "type": "checkbox", "id": "show_link_list", "label": "Show link list", "default": true },
    { "type": "checkbox", "id": "show_social_block", "label": "Show social icons", "default": true },
    { "type": "checkbox", "id": "show_newsletter_block", "label": "Show newsletter signup", "default": true },
    { "type": "checkbox", "id": "show_payment_block", "label": "Show payment icons", "default": true },
    { "type": "checkbox", "id": "show_contact_info_block", "label": "Show contact info block", "default": true },

    { "type": "header", "content": "Bottom bar" },
    { "type": "checkbox", "id": "show_legal", "label": "Show legal links", "default": true },
    { "type": "url", "id": "privacy_url", "label": "Privacy policy URL" },
    { "type": "url", "id": "terms_url", "label": "Terms of service URL" },
    {
      "type": "select", "id": "bottom_font", "label": "Bottom bar font", "default": "Proxima Nova",
      "options": [
        { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" },
        { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" },
        { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" },
        { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" },
        { "value": "Proxima Nova", "label": "Proxima Nova" },
        { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" },
        { "value": "Bourton", "label": "Bourton" }
      ]
    },
    { "type": "range", "id": "bottom_size", "min": 10, "max": 18, "step": 1, "unit": "px", "label": "Bottom bar font size", "default": 12 },
    { "type": "color", "id": "bottom_text_color", "label": "Bottom bar text color", "default": "rgba(210, 222, 199, 0.7)" },
    { "type": "range", "id": "bottom_padding_top", "min": 8, "max": 40, "step": 4, "unit": "px", "label": "Bottom bar top padding", "default": 20 },
    { "type": "range", "id": "bottom_margin_top", "min": 0, "max": 40, "step": 4, "unit": "px", "label": "Bottom bar top margin", "default": 20 },

    { "type": "header", "content": "Divider" },
    { "type": "checkbox", "id": "show_divider", "label": "Show divider", "default": false },
    { "type": "image_picker", "id": "divider_image", "label": "Divider image" },
    { "type": "range", "id": "divider_opacity", "min": 10, "max": 100, "step": 5, "unit": "%", "label": "Divider opacity", "default": 90 },
    { "type": "range", "id": "divider_margin_top", "min": 0, "max": 60, "step": 2, "unit": "px", "label": "Space above divider", "default": 0 },

    { "type": "header", "content": "Spacing" },
    { "type": "range", "id": "padding_top", "min": 24, "max": 120, "step": 8, "unit": "px", "label": "Top padding", "default": 64 },
    { "type": "range", "id": "padding_bottom", "min": 24, "max": 120, "step": 8, "unit": "px", "label": "Bottom padding", "default": 32 }
  ],
  "blocks": [
    {
      "type": "text", "name": "Text block",
      "settings": [
        { "type": "text", "id": "heading", "label": "Heading" },
        { "type": "richtext", "id": "text", "label": "Text", "default": "<p>Your brand story or mission statement here.</p>" },
        { "type": "header", "content": "Typography" },
        { "type": "select", "id": "heading_font", "label": "Heading font", "default": "Cubano", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "heading_size", "min": 14, "max": 28, "step": 1, "unit": "px", "label": "Heading font size", "default": 18 },
        { "type": "range", "id": "heading_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Heading bottom margin", "default": 12 },
        { "type": "color", "id": "heading_color", "label": "Heading color" },
        { "type": "select", "id": "body_font", "label": "Body font", "default": "Proxima Nova", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "body_size", "min": 12, "max": 20, "step": 1, "unit": "px", "label": "Body font size", "default": 14 },
        { "type": "color", "id": "body_color", "label": "Body color" }
      ]
    },
    {
      "type": "link_list", "name": "Link list",
      "settings": [
        { "type": "text", "id": "heading", "label": "Heading", "default": "Quick links" },
        { "type": "link_list", "id": "menu", "label": "Menu" },
        { "type": "header", "content": "Typography" },
        { "type": "select", "id": "heading_font", "label": "Heading font", "default": "Cubano", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "heading_size", "min": 14, "max": 28, "step": 1, "unit": "px", "label": "Heading font size", "default": 18 },
        { "type": "range", "id": "heading_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Heading bottom margin", "default": 12 },
        { "type": "color", "id": "heading_color", "label": "Heading color" },
        { "type": "select", "id": "link_font", "label": "Link font", "default": "Proxima Nova", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "link_size", "min": 12, "max": 20, "step": 1, "unit": "px", "label": "Link font size", "default": 14 },
        { "type": "range", "id": "link_margin_bottom", "min": 0, "max": 16, "step": 2, "unit": "px", "label": "Space between links", "default": 6 },
        { "type": "color", "id": "link_color", "label": "Link color" },
        { "type": "select", "id": "link_decoration", "label": "Link decoration", "default": "none", "options": [ { "value": "none", "label": "None" }, { "value": "underline", "label": "Underline" } ] }
      ]
    },
    {
      "type": "social", "name": "Social icons",
      "settings": [
        { "type": "text", "id": "heading", "label": "Heading", "default": "Follow us" },
        { "type": "header", "content": "Typography" },
        { "type": "select", "id": "heading_font", "label": "Heading font", "default": "Cubano", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "heading_size", "min": 14, "max": 28, "step": 1, "unit": "px", "label": "Heading font size", "default": 18 },
        { "type": "range", "id": "heading_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Heading bottom margin", "default": 12 },
        { "type": "color", "id": "heading_color", "label": "Heading color" },
        { "type": "header", "content": "Icons" },
        { "type": "range", "id": "icon_size", "min": 16, "max": 40, "step": 2, "unit": "px", "label": "Icon size", "default": 24 },
        { "type": "range", "id": "social_gap", "min": 8, "max": 32, "step": 4, "unit": "px", "label": "Gap between icons", "default": 16 },
        { "type": "color", "id": "icon_color", "label": "Icon color" }
      ]
    },
    {
      "type": "newsletter", "name": "Newsletter signup",
      "settings": [
        { "type": "text", "id": "heading", "label": "Heading", "default": "Stay in the loop" },
        { "type": "richtext", "id": "text", "label": "Text", "default": "<p>Sign up for updates — no spam, just good stuff.</p>" },
        { "type": "text", "id": "input_placeholder", "label": "Input placeholder", "default": "your@email.com" },
        { "type": "text", "id": "button_label", "label": "Button label", "default": "Subscribe" },
        { "type": "header", "content": "Typography" },
        { "type": "select", "id": "heading_font", "label": "Heading font", "default": "Cubano", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "heading_size", "min": 14, "max": 28, "step": 1, "unit": "px", "label": "Heading font size", "default": 18 },
        { "type": "range", "id": "heading_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Heading bottom margin", "default": 12 },
        { "type": "color", "id": "heading_color", "label": "Heading color" },
        { "type": "select", "id": "body_font", "label": "Body font", "default": "Proxima Nova", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "body_size", "min": 12, "max": 20, "step": 1, "unit": "px", "label": "Body font size", "default": 14 },
        { "type": "range", "id": "body_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Body bottom margin", "default": 16 },
        { "type": "color", "id": "body_color", "label": "Body color" },
        { "type": "select", "id": "input_font", "label": "Input font", "default": "Proxima Nova", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "input_size", "min": 12, "max": 20, "step": 1, "unit": "px", "label": "Input font size", "default": 14 },
        { "type": "color", "id": "input_bg", "label": "Input background" },
        { "type": "color", "id": "input_color", "label": "Input text color" },
        { "type": "color", "id": "input_border_color", "label": "Input border color", "default": "rgba(210, 222, 199, 0.3)" },
        { "type": "range", "id": "input_border_radius", "min": 0, "max": 20, "step": 2, "unit": "px", "label": "Input border radius", "default": 0 },
        { "type": "select", "id": "button_font", "label": "Button font", "default": "Proxima Nova Semibold", "options": [ { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" }, { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" }, { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" }, { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" }, { "value": "Proxima Nova", "label": "Proxima Nova" }, { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" }, { "value": "Bourton", "label": "Bourton" } ] },
        { "type": "range", "id": "button_size", "min": 10, "max": 18, "step": 1, "unit": "px", "label": "Button font size", "default": 12 },
        { "type": "color", "id": "button_bg", "label": "Button background" },
        { "type": "color", "id": "button_color", "label": "Button text color" },
        { "type": "color", "id": "button_border_color", "label": "Button border color" },
        { "type": "range", "id": "button_border_radius", "min": 0, "max": 20, "step": 2, "unit": "px", "label": "Button border radius", "default": 0 }
      ]
    },
    {
      "type": "payment_icons", "name": "Payment icons",
      "settings": [
        { "type": "range", "id": "icon_size", "min": 20, "max": 60, "step": 4, "unit": "px", "label": "Icon size", "default": 32 },
        { "type": "range", "id": "icon_gap", "min": 4, "max": 20, "step": 2, "unit": "px", "label": "Gap between icons", "default": 8 },
        { "type": "range", "id": "margin_top", "min": 0, "max": 40, "step": 4, "unit": "px", "label": "Top margin", "default": 16 },
        { "type": "color", "id": "icon_color", "label": "Icon color" }
      ]
    },
    {
      "type": "contact_info",
      "name": "Contact info",
      "settings": [
        { "type": "text", "id": "heading", "label": "Heading (optional)" },
        { "type": "header", "content": "Phone" },
        {
          "type": "select", "id": "contact_phone_source", "label": "Phone number source", "default": "store",
          "options": [
            { "value": "store", "label": "Store settings (recommended)" },
            { "value": "custom", "label": "Custom — enter below" }
          ]
        },
        { "type": "text", "id": "contact_phone_custom", "label": "Custom phone number", "info": "Only used if source is set to Custom above." },
        { "type": "header", "content": "Email" },
        {
          "type": "select", "id": "contact_email_source", "label": "Email source", "default": "custom",
          "options": [
            { "value": "store", "label": "Store settings (sender email)" },
            { "value": "custom", "label": "Custom — enter below" }
          ]
        },
        { "type": "text", "id": "contact_email_custom", "label": "Custom email address", "default": "hello@longacrecheese.com", "info": "Only used if source is set to Custom above." },
        { "type": "header", "content": "Labels" },
        { "type": "checkbox", "id": "show_contact_labels", "label": "Show labels (Phone / Email)", "default": true },
        { "type": "text", "id": "phone_label", "label": "Phone label", "default": "Phone" },
        { "type": "text", "id": "email_label", "label": "Email label", "default": "Email" },
        { "type": "range", "id": "contact_gap", "min": 4, "max": 24, "step": 2, "unit": "px", "label": "Gap between phone and email", "default": 8 },
        { "type": "header", "content": "Typography" },
        { "type": "range", "id": "heading_size", "min": 14, "max": 28, "step": 1, "unit": "px", "label": "Heading font size", "default": 18 },
        { "type": "range", "id": "heading_margin_bottom", "min": 0, "max": 30, "step": 2, "unit": "px", "label": "Heading bottom margin", "default": 12 },
        { "type": "color", "id": "heading_color", "label": "Heading color" },
        {
          "type": "select", "id": "heading_font", "label": "Heading font", "default": "Cubano",
          "options": [
            { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" },
            { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" },
            { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" },
            { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" },
            { "value": "Proxima Nova", "label": "Proxima Nova" },
            { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" },
            { "value": "Bourton", "label": "Bourton" }
          ]
        },
        { "type": "header", "content": "Label typography" },
        {
          "type": "select", "id": "label_font", "label": "Label font", "default": "Proxima Nova Semibold",
          "options": [
            { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" },
            { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" },
            { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" },
            { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" },
            { "value": "Proxima Nova", "label": "Proxima Nova" },
            { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" },
            { "value": "Bourton", "label": "Bourton" }
          ]
        },
        { "type": "range", "id": "label_size", "min": 8, "max": 16, "step": 1, "unit": "px", "label": "Label font size", "default": 10 },
        { "type": "color", "id": "label_color", "label": "Label color", "default": "#97a37a" },
        { "type": "header", "content": "Value typography" },
        {
          "type": "select", "id": "value_font", "label": "Value font", "default": "Proxima Nova",
          "options": [
            { "value": "Assistant", "label": "Assistant" }, { "value": "Nunito", "label": "Nunito" },
            { "value": "Lato", "label": "Lato" }, { "value": "Helvetica Neue", "label": "Helvetica Neue" },
            { "value": "Arial", "label": "Arial" }, { "value": "Cubano", "label": "Cubano" },
            { "value": "Mont", "label": "Mont" }, { "value": "Montserrat", "label": "Montserrat" },
            { "value": "Proxima Nova", "label": "Proxima Nova" },
            { "value": "Proxima Nova Semibold", "label": "Proxima Nova Semibold" },
            { "value": "Bourton", "label": "Bourton" }
          ]
        },
        { "type": "range", "id": "value_size", "min": 11, "max": 18, "step": 1, "unit": "px", "label": "Value font size", "default": 14 },
        { "type": "color", "id": "value_color", "label": "Value color", "default": "#d2dec7" }
      ]
    }
  ],
  "presets": [
    {
      "name": "Longacre Footer",
      "blocks": [
        { "type": "text", "settings": { "heading": "Longacre", "text": "<p>Artisan cheese, sandwiches, and good things from Chico, California.</p>" } },
        { "type": "contact_info", "settings": { "heading": "Contact" } },
        { "type": "link_list", "settings": { "heading": "Quick links", "menu": "footer" } },
        { "type": "social", "settings": { "heading": "Follow us" } }
      ]
    }
  ]
}
{% endschema %}