Roof Racks

<div class="shopify-section-landscape" style="background-color: {{ section.settings.primary_bg }};">
  
  <!-- WIDESCREEN HERO GRID -->
  <header class="hero-landscape-grid">
    <div class="hero-left-card">
      <span class="sub-tag-line">{{ section.settings.hero_subtag }}</span>
      <h1 class="hero-main-title">{{ section.settings.hero_heading }}</h1>
      <p class="hero-copy-text">{{ section.settings.hero_text }}</p>
      <a href="{{ section.settings.hero_link }}" class="cta-outline-btn">{{ section.settings.hero_button_label }} &rarr;</a>
    </div>
    <div class="hero-right-media" style="background-image: url('{{ section.settings.hero_bg_image | image_url: width: 1400 }}');">
      {% if section.settings.hero_bg_image == blank %}
        {{ 'lifestyle-2' | placeholder_svg_tag: 'placeholder-svg-landscape' }}
      {% endif %}
    </div>
  </header>

  <!-- QUICK DECK FILTER CONTROLS -->
  <section class="horizontal-nav-bar">
    <div class="nav-bar-label">{{ section.settings.filter_heading }}</div>
    <div class="nav-nodes">
      <div class="nav-node" data-filter="all"><div class="node-bullet"></div>All Vehicles</div>
      <div class="nav-node" data-filter="utes"><div class="node-bullet"></div>Utes</div>
      <div class="nav-node" data-filter="4wd"><div class="node-bullet"></div>4WD & Off-Road</div>
      <div class="nav-node" data-filter="suvs"><div class="node-bullet"></div>SUVs</div>
      <div class="nav-node" data-filter="vans"><div class="node-bullet"></div>Vans & Touring</div>
    </div>
  </section>

  <!-- PORTFOLIO MATRIX -->
  <main class="portfolio-matrix" style="background-color: {{ section.settings.grid_bg }};">
    <div class="asymmetric-stream">

      <!-- FIXED BUILD 1: TOYOTA HILUX (UTES) -->
      <div class="stream-card" data-category="utes">
        <div class="stream-image-container">
          <img src="{{ 'image_ZQ3Cvf.png' | asset_url }}" alt="Toyota Hilux Custom Dual Cab Setup" loading="lazy">
        </div>
        <div class="stream-card-body">
          <span class="card-meta">Build 1A • image_ZQ3Cvf.png</span>
          <h2 class="stream-headline">Toyota Hilux Dual Cab</h2>
          <p class="stream-paragraph">Overland cab roof platform system combined with mid-height tub-mount crossbars for active gear configurations.</p>
          <a href="#" class="stream-link-anchor">EXPLORE UTE RACKS &rarr;</a>
        </div>
      </div>

      <!-- FIXED BUILD 2: TOYOTA LAND CRUISER 60 (4WD) -->
      <div class="stream-card" data-category="4wd">
        <div class="stream-image-container">
          <img src="{{ 'image_wQoc3M.png' | asset_url }}" alt="Toyota Land Cruiser 60 Overland Build" loading="lazy">
        </div>
        <div class="stream-card-body">
          <span class="card-meta">Build 1B • image_wQoc3M.png</span>
          <h2 class="stream-headline">Toyota Land Cruiser 60</h2>
          <p class="stream-paragraph">Heavy-duty full-length gutter-mount roof tray engineered to support extreme fuel capacities and storage vaults.</p>
          <a href="#" class="stream-link-anchor">EXPLORE 4WD RACKS &rarr;</a>
        </div>
      </div>

      <!-- FIXED BUILD 3: JEEP WRANGLER JL (SUVS) -->
      <div class="stream-card" data-category="suvs">
        <div class="stream-image-container">
          <img src="{{ 'image_nJNzGH.png' | asset_url }}" alt="Jeep Wrangler JL Platform Setup" loading="lazy">
        </div>
        <div class="stream-card-body">
          <span class="card-meta">Build 1C • image_nJNzGH.png</span>
          <h2 class="stream-headline">Jeep Wrangler JL</h2>
          <p class="stream-paragraph">Low-profile platform integrated directly to factory composite hardtop tracking brackets for structural weight distribution.</p>
          <a href="#" class="stream-link-anchor">EXPLORE SUV RACKS &rarr;</a>
        </div>
      </div>

      <!-- DYNAMIC BLOCKS FOR ADDITIONAL IMAGES VIA THEME CUSTOMIZER -->
      {% for block in section.blocks %}
        <div class="stream-card" data-category="{{ block.settings.category_tag }}" {{ block.shopify_attributes }}>
          <div class="stream-image-container">
            {% if block.settings.item_image != blank %}
              <img src="{{ block.settings.item_image | image_url: width: 900 }}" alt="{{ block.settings.card_title | escape }}" loading="lazy">
            {% else %}
              {{ 'image' | placeholder_svg_tag: 'stream-placeholder' }}
            {% endif %}
          </div>
          <div class="stream-card-body">
            <span class="card-meta">{{ block.settings.block_filename }}</span>
            <h2 class="stream-headline">{{ block.settings.card_title }}</h2>
            <p class="stream-paragraph">{{ block.settings.card_description }}</p>
            <a href="{{ block.settings.card_link_url }}" class="stream-link-anchor">{{ block.settings.card_link_text }} &rarr;</a>
          </div>
        </div>
      {% endfor %}

    </div>
  </main>

</div>

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const filterNodes = document.querySelectorAll('.nav-node');
    const streamCards = document.querySelectorAll('.stream-card');

    filterNodes.forEach(node => {
      node.addEventListener('click', function() {
        const filterValue = this.getAttribute('data-filter');
        
        filterNodes.forEach(n => n.style.color = '#b0a7a2');
        this.style.color = '#ffffff';

        streamCards.forEach(card => {
          if (filterValue === 'all' || card.getAttribute('data-category') === filterValue) {
            card.style.display = 'flex';
          } else {
            card.style.display = 'none';
          }
        });
      });
    });
  });
</script>

{% schema %}
{
  "name": "Feldon Landscape Master",
  "settings": [
    {
      "type": "color",
      "id": "primary_bg",
      "label": "Hero/Header Background",
      "default": "#1b1613"
    },
    {
      "type": "color",
      "id": "grid_bg",
      "label": "Gallery Base Background",
      "default": "#e4dec3"
    },
    {
      "type": "text",
      "id": "hero_subtag",
      "label": "Hero Subtitle",
      "default": "ROOF RACKS"
    },
    {
      "type": "text",
      "id": "hero_heading",
      "label": "Hero Heading",
      "default": "BUILT FOR REAL ADVENTURES"
    },
    {
      "type": "textarea",
      "id": "hero_text",
      "label": "Hero Paragraph Copy",
      "default": "Rugged, reliable roof rack systems for 4WDs, utes, SUVs and touring vehicles. Carry more gear, go further and make the most of New Zealand's outdoors."
    },
    {
      "type": "text",
      "id": "hero_button_label",
      "label": "Hero Button Text",
      "default": "EXPLORE ROOF RACKS"
    },
    {
      "type": "url",
      "id": "hero_link",
      "label": "Hero Action Destination"
    },
    {
      "type": "image_picker",
      "id": "hero_bg_image",
      "label": "Hero Landscape Image"
    },
    {
      "type": "text",
      "id": "filter_heading",
      "label": "Filter Bar Text Label",
      "default": "FIND YOUR VEHICLE"
    }
  ],
  "blocks": [
    {
      "type": "gallery_item",
      "name": "Widescreen Grid Card",
      "settings": [
        {
          "type": "image_picker",
          "id": "item_image",
          "label": "Card Display Photo"
        },
        {
          "type": "select",
          "id": "category_tag",
          "label": "Filter Grouping category",
          "options": [
            { "value": "utes", "label": "Utes" },
            { "value": "4wd", "label": "4WD & Off-Road" },
            { "value": "suvs", "label": "SUVs" },
            { "value": "vans", "label": "Vans & Touring" }
          ],
          "default": "4wd"
        },
        {
          "type": "text",
          "id": "card_title",
          "label": "Category Headline Title",
          "default": "4WD & OFF-ROAD"
        },
        {
          "type": "textarea",
          "id": "card_description",
          "label": "Category Short Subtext",
          "default": "Heavy-duty roof racks and storage systems for your next adventure."
        },
        {
          "type": "text",
          "id": "block_filename",
          "label": "Asset Filename Reference",
          "default": "image_filename.png"
        },
        {
          "type": "text",
          "id": "card_link_text",
          "label": "Action Text Link Label",
          "default": "EXPLORE RACKS"
        },
        {
          "type": "url",
          "id": "card_link_url",
          "label": "Card Redirection Link"
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "Feldon Landscape Master"
    }
  ]
}
{% endschema %}

<style>
  .hero-landscape-grid {
    display: grid;
    grid-template-columns: 43% 57%;
    min-height: 560px;
  }
  .hero-left-card {
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sub-tag-line {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 3px;
    color: #b0a7a2;
    margin-bottom: 15px;
  }
  .hero-main-title {
    color: #ffffff;
    font-size: 3.2rem;
    text-transform: uppercase;
    line-height: 1.05;
    margin: 0 0 25px 0;
    letter-spacing: 1px;
    font-weight: 800;
  }
  .hero-copy-text {
    color: #b0a7a2;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 40px 0;
    max-width: 480px;
  }
  .cta-outline-btn {
    align-self: flex-start;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
    padding: 14px 32px;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1.5px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .cta-outline-btn:hover {
    background-color: #ffffff;
    color: #1b1613;
  }
  .hero-right-media {
    background-size: cover;
    background-position: center;
    background-color: #15110f;
  }
  .horizontal-nav-bar {
    background-color: #27211e;
Use code with caution.

padding: 25px 50px;
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1px solid #3d342f;
border-bottom: 1px solid #3d342f;
}
.nav-bar-label {
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 2px;
font-weight: 700;
color: #ffffff;
}
.nav-nodes {
display: flex;
gap: 45px;
}
.nav-node {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
color: #b0a7a2;
cursor: pointer;
text-transform: uppercase;
font-size: 0.7rem;
letter-spacing: 1px;
font-weight: 600;
}
.nav-node:hover { color: #ffffff; }
.node-bullet {
width: 36px;
height: 16px;
border: 1px solid #b0a7a2;
border-radius: 2px;
opacity: 0.6;
}
.portfolio-matrix {
padding: 90px 50px;
}
.asymmetric-stream {
max-width: 1300px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
}
.stream-card {
background-color: #efebe0;
border-radius: 2px;
overflow: hidden;
display: flex;
flex-direction: column;
box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}
.stream-image-container {
width: 100%;
height: 400px;
background-color: #ccc;
overflow: hidden;
}
.stream-image-container img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.stream-card-body {
padding: 40px;
color: #201a17;
}
.card-meta {
font-family: monospace;
font-size: 0.7rem;
color: #5e544f;
display: block;
margin-bottom: 6px;
letter-spacing: 0.5px;
}
.stream-headline {
font-size: 1.4rem;
text-transform: uppercase;
margin: 0 0 14px 0;
letter-spacing: 0.5px;
font-weight: 700;
}
.stream-paragraph {
color: #5e544f;
font-size: 0.9rem;
line-height: 1.55;
margin: 0 0 28px 0;
}
.stream-link-anchor {
font-size: 0.75rem;
text-transform: uppercase;
font-weight: 700;
letter-spacing: 1px;
color: #201a17;
text-decoration: none;
border-bottom: 2px solid #201a17;
padding-bottom: 3px;
display: inline-block;
}
@media (max-width: 1024px) {
.hero-landscape-grid, .asymmetric-stream { grid-template-columns: 1fr; }
.horizontal-nav-bar { flex-direction: column; gap: 25px; align-items: flex-start; padding: 25px; }
.nav-nodes { width: 100%; justify-content: space-between; gap: 5px; }