Diff -- /var/www/vhosts/3dshawn.com/shop.3dshawn.com/TEMPLATES/store_layouts/storyteller.html

O Operator
Diff

/var/www/vhosts/3dshawn.com/shop.3dshawn.com/TEMPLATES/store_layouts/storyteller.html

added on local at 2026-07-01 22:10:05

Added
+130
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to dbfeae822235
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1<!-- =====================================================================
2 LAYOUT: Storyteller
3 About/maker section first, then catalog. Premium, brand-driven feel.
4 Best for artisan creators, Patreon-style sellers, premium shops.
5===================================================================== -->
6
7<style>:root { $theme_css_vars }</style>
8
9[if:$preview_banner]
10<div style="position:sticky;top:0;z-index:9999;background:#0a0e1c;border-bottom:1px solid rgba(59,130,246,0.40);box-shadow:0 4px 16px rgba(0,0,0,0.55);padding:10px 20px;text-align:center;font-size:13px;color:#93c5fd;font-weight:600">
11 <svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" style="vertical-align:-2px"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></svg>
12 $preview_banner
13</div>
14[/if]
15
16<header style="background:var(--col-bg);padding:22px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--col-border);flex-wrap:wrap">
17 <a href="/store.cgi?id=$store_id" style="display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0">
18 <div class="brand-mark" style="background:linear-gradient(130deg, var(--col-accent), var(--col-accent-bright));width:42px;height:42px;font-size:15px">$store_initials</div>
19 <div>
20 <div style="font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--col-text);letter-spacing:-0.01em">$store_name</div>
21 <div style="font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--col-text-3);margin-top:2px">Independent studio</div>
22 </div>
23 </a>
24 <nav style="display:flex;gap:18px;align-items:center;flex-wrap:wrap">
25 [loop:@nav_pages]<a href="$loop1.href" style="font-size:13px;color:var(--col-text-2);font-weight:600;text-decoration:none">$loop1.title</a>[/loop]
26 </nav>
27 <div style="flex:1;display:flex;justify-content:center;min-width:0">$store_search_form</div>
28 <nav style="display:flex;gap:24px;align-items:center">
29 </nav>
30 <div style="display:inline-flex;gap:8px;align-items:center;margin-left:8px">$store_signin_link $store_cart_link</div>
31</header>
32
33[if:$is_specific_page]
34 [if:$page_not_found]
35 <section style="padding:120px 32px;text-align:center;max-width:600px;margin:0 auto">
36 <h1 class="hero-title" style="font-size:48px">Page not found</h1>
37 <a href="/store.cgi?id=$store_id" class="btn btn-primary btn-lg">Back to home</a>
38 </section>
39 [/if]
40 [if:!$page_not_found]
41 <section style="padding:80px 32px 60px;max-width:900px;margin:0 auto">
42 <h1 class="hero-title" style="font-size:48px">$page_title</h1>
43 <div class="text-secondary" style="font-size:17px;line-height:1.7;margin-top:24px;white-space:pre-wrap">$page_body</div>
44 </section>
45 [/if]
46[/if]
47
48[if:!$is_specific_page]
49<!-- The story comes first -- big bio + portrait -->
50<section id="story" style="padding:100px 36px;max-width:1200px;margin:0 auto">
51 <div style="display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center">
52 <div style="position:relative">
53 <div data-we-editable="image" data-we-field="hero_image_1" style="aspect-ratio:0.85;background:url('$hero_image_1') $hero_image_1_pos/cover;border-radius:12px;border:1px solid var(--col-border-2);box-shadow:0 30px 60px var(--col-accent-glow)"></div>
54 <div style="position:absolute;bottom:-20px;right:-20px;background:var(--col-bg-2);border:1px solid var(--col-border);padding:14px 20px;border-radius:8px">
55 <div style="font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--col-text-3);font-weight:700">Maker</div>
56 <div style="font-family:var(--font-display);font-size:18px;color:var(--col-text);margin-top:2px">$store_name</div>
57 </div>
58 </div>
59 <div>
60 <span style="font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--col-accent-bright);font-weight:700">The studio</span>
61 <h1 style="font-family:var(--font-display);font-size:clamp(40px,5vw,64px);font-weight:700;letter-spacing:-0.02em;line-height:1.05;color:var(--col-text);margin:18px 0 24px">Hand-sculpted in small batches.</h1>
62 <p style="font-size:17px;line-height:1.8;color:var(--col-text-2);margin-bottom:18px">$store_tagline</p>
63 <p style="font-size:15px;line-height:1.8;color:var(--col-text-2)">$store_about</p>
64 <div style="display:flex;gap:12px;margin-top:32px">
65 <a href="#shop" class="btn btn-primary btn-lg">See the catalog</a>
66 <a href="#" class="btn btn-secondary btn-lg">Follow the studio</a>
67 </div>
68 </div>
69 </div>
70</section>
71
72<!-- Process / values band -->
73<section style="background:var(--col-bg-2);padding:60px 36px;border-top:1px solid var(--col-border);border-bottom:1px solid var(--col-border)">
74 <div style="max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px">
75 <div>
76 <div style="font-family:var(--font-display);font-size:36px;color:var(--col-accent-bright);font-weight:700">01</div>
77 <div style="font-size:15px;font-weight:600;color:var(--col-text);margin-top:6px">Sculpted by hand</div>
78 <p style="font-size:13px;color:var(--col-text-2);line-height:1.6;margin-top:6px">Every model starts in clay-equivalent digital sculpting. No kitbashing, no AI fills.</p>
79 </div>
80 <div>
81 <div style="font-family:var(--font-display);font-size:36px;color:var(--col-accent-bright);font-weight:700">02</div>
82 <div style="font-size:15px;font-weight:600;color:var(--col-text);margin-top:6px">Quality-checked</div>
83 <p style="font-size:13px;color:var(--col-text-2);line-height:1.6;margin-top:6px">Every item verified before release. We don't ship what we haven't checked.</p>
84 </div>
85 <div>
86 <div style="font-family:var(--font-display);font-size:36px;color:var(--col-accent-bright);font-weight:700">03</div>
87 <div style="font-size:15px;font-weight:600;color:var(--col-text);margin-top:6px">Yours forever</div>
88 <p style="font-size:13px;color:var(--col-text-2);line-height:1.6;margin-top:6px">Lifetime re-downloads. No subscriptions, no tier-locked files.</p>
89 </div>
90 </div>
91</section>
92
93<!-- Catalog -->
94<section id="shop" style="padding:80px 36px;max-width:1300px;margin:0 auto">
95 <div style="text-align:center;margin-bottom:48px">
96 <span style="font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--col-accent-bright);font-weight:700">The catalog</span>
97 <h2 style="font-family:var(--font-display);font-size:42px;font-weight:700;color:var(--col-text);margin-top:12px">$product_count items in the line</h2>
98 </div>
99
100 [if:$has_products]
101 <div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px">
102 [loop:@products]
103 <a href="/listing_details.cgi?id=$loop1.id" style="text-decoration:none;background:var(--col-surface-1);border:1px solid var(--col-border);border-radius:10px;overflow:hidden;transition:border-color 0.15s">
104 <div style="aspect-ratio:4/3;background:url('$loop1.hero_image') center/cover"></div>
105 <div style="padding:16px">
106 <div style="font-size:14px;font-weight:600;color:var(--col-text);margin-bottom:8px">$loop1.title</div>
107 <div style="display:flex;justify-content:space-between;align-items:center">
108 <span style="font-size:18px;font-weight:700;color:var(--col-accent-bright)">$loop1.price</span>
109 $loop1.rating_html
110 </div>
111 </div>
112 </a>
113 [/loop]
114 $pagination_html
115 </div>
116 [/if]
117
118 [if:!$has_products]
119 <div class="card" style="text-align:center;padding:64px 32px">
120 <div style="font-family:var(--font-display);font-size:24px;color:var(--col-text)">The first release is on its way</div>
121 <p class="text-secondary" style="margin-top:8px">Subscribe below to be first in line.</p>
122 </div>
123 [/if]
124</section>
125[/if]
126
127<footer style="background:var(--col-bg-2);border-top:1px solid var(--col-border);padding:40px 36px;text-align:center">
128 <div style="font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--col-text)">$store_name</div>
129 <div class="text-xs text-dim" style="letter-spacing:2px;text-transform:uppercase;margin-top:6px">An independent studio &middot; powered by shop.3dshawn.com</div>
130</footer>