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

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

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

Added
+121
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 322b74f3441d
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: Brutalist (redesigned)
3 Editorial brutalism. Massive type, asymmetric grid, accent blocks.
4===================================================================== -->
5
6<style>
7:root { $theme_css_vars }
8.bru-mono { font-family: ui-monospace, 'JetBrains Mono', 'Source Code Pro', monospace; }
9.bru-num { font-family: var(--font-display); font-weight: 900; font-variant-numeric: tabular-nums; }
10.bru-rule { height: 6px; background: var(--col-text); margin: 0; }
11.bru-card { display:block; text-decoration:none; position:relative; }
12.bru-card .img { aspect-ratio: 4/5; background-size: cover; background-position: center; filter: contrast(1.05); }
13.bru-card .num { position:absolute; top:10px; left:10px; background: var(--col-accent); color:#fff; padding:4px 10px; font-family: ui-monospace, monospace; font-size:11px; font-weight:700; letter-spacing:1px; }
14.bru-card:hover .img { filter: contrast(1.05) brightness(0.85); }
15</style>
16
17[if:$preview_banner]
18<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" class="bru-mono">$preview_banner</div>
19[/if]
20
21<!-- Header — slim newspaper-strip with dateline -->
22<header style="background:var(--col-bg);padding:18px 32px;display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:6px solid var(--col-text);flex-wrap:wrap">
23 <a href="/store.cgi?id=$store_id" style="text-decoration:none;display:flex;align-items:baseline;gap:14px;flex-shrink:0">
24 <span style="font-family:var(--font-display);font-size:30px;font-weight:900;color:var(--col-text);letter-spacing:-0.04em;line-height:1">$store_name</span>
25 <span class="bru-mono" style="font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--col-text-3)">No. $product_count &middot; volume I</span>
26 </a>
27 <nav style="display:flex;gap:18px;align-items:center;flex-wrap:wrap">
28 [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]
29 </nav>
30 <div style="flex:1;display:flex;justify-content:center;min-width:0">$store_search_form</div>
31 <nav class="bru-mono" style="display:flex;gap:18px;align-items:center;font-size:11px;letter-spacing:2px;text-transform:uppercase">
32 </nav>
33 <div style="display:inline-flex;gap:8px;align-items:center;margin-left:8px">$store_signin_link $store_cart_link</div>
34</header>
35
36[if:$is_specific_page]
37 [if:$page_not_found]
38 <section style="padding:120px 32px;text-align:center"><h1 style="font-family:var(--font-display);font-size:120px;font-weight:900;color:var(--col-text);line-height:0.9;letter-spacing:-0.05em;margin:0">404.</h1></section>
39 [/if]
40 [if:!$page_not_found]
41 <section style="padding:80px 32px;max-width:900px;margin:0 auto">
42 <div class="bru-mono" style="font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--col-accent);font-weight:700;margin-bottom:12px">&sect; $page_slug</div>
43 <h1 style="font-family:var(--font-display);font-size:clamp(48px,7vw,84px);font-weight:900;color:var(--col-text);line-height:0.95;letter-spacing:-0.04em;margin:0">$page_title</h1>
44 <div class="bru-rule" style="margin:32px 0;width:80px"></div>
45 <div style="font-size:16px;line-height:1.85;color:var(--col-text);white-space:pre-wrap;max-width:680px">$page_body</div>
46 </section>
47 [/if]
48[/if]
49
50[if:!$is_specific_page]
51
52<!-- Massive headline block: text dominates, asymmetric whitespace -->
53<section style="padding:80px 32px 60px;max-width:1500px;margin:0 auto">
54 <div style="display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end">
55 <div>
56 <div class="bru-mono" style="font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--col-accent);font-weight:700;margin-bottom:18px">&sect; 01 &mdash; In stock now</div>
57 <h1 style="font-family:var(--font-display);font-size:clamp(64px,10vw,160px);font-weight:900;color:var(--col-text);line-height:0.85;letter-spacing:-0.05em;margin:0">$store_name.</h1>
58 </div>
59 <div style="padding-bottom:24px">
60 <p style="font-size:18px;line-height:1.55;color:var(--col-text);max-width:420px;margin:0 0 24px">$store_tagline</p>
61 <div class="bru-mono" style="font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--col-text-3);display:flex;gap:24px">
62 <span>Edition I</span>
63 <span>$product_count releases</span>
64 <span style="color:var(--col-accent)">Live</span>
65 </div>
66 </div>
67 </div>
68</section>
69
70<div class="bru-rule"></div>
71
72<!-- Catalog: irregular grid, every 4th tile is wide accent block -->
73<section id="shop" style="padding:48px 32px;max-width:1500px;margin:0 auto">
74 <div style="display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;gap:24px">
75 <div>
76 <div class="bru-mono" style="font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--col-accent);font-weight:700">&sect; 02 &mdash; The catalog</div>
77 <h2 style="font-family:var(--font-display);font-size:48px;font-weight:900;color:var(--col-text);letter-spacing:-0.03em;margin:6px 0 0">Every release.</h2>
78 </div>
79 <div class="bru-mono bru-num" style="font-size:64px;color:var(--col-text);line-height:1">$product_count</div>
80 </div>
81
82 <div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px">
83 [loop:@products]
84 <a href="/listing_details.cgi?id=$loop1.id" class="bru-card">
85 <div class="img" style="background-image:url('$loop1.hero_image')"></div>
86 <span class="num">$loop1.id</span>
87 <div style="padding:14px 0 0">
88 <div class="bru-mono" style="font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--col-text-3);font-weight:600">&sect; release no. $loop1.id</div>
89 <div style="font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--col-text);letter-spacing:-0.01em;margin:4px 0 8px;line-height:1.1">$loop1.title</div>
90 <div style="display:flex;justify-content:space-between;align-items:baseline">
91 <span class="bru-num" style="font-size:22px;color:var(--col-text)">$loop1.price</span>
92 <span class="bru-mono" style="font-size:11px;color:var(--col-text-3);letter-spacing:1px">$loop1.rating_n notes</span>
93 </div>
94 </div>
95 </a>
96 [/loop]
97 $pagination_html
98 </div>
99</section>
100
101<div class="bru-rule" style="margin-top:48px"></div>
102
103<!-- Notes / about: dateline-style, generous whitespace -->
104<section id="about" style="padding:80px 32px;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start">
105 <div>
106 <div class="bru-mono" style="font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--col-accent);font-weight:700">&sect; 03</div>
107 <h2 style="font-family:var(--font-display);font-size:42px;font-weight:900;color:var(--col-text);letter-spacing:-0.03em;line-height:1;margin:8px 0 0">Notes from the studio.</h2>
108 </div>
109 <div>
110 <p style="font-size:17px;line-height:1.85;color:var(--col-text);margin:0;max-width:560px">$store_about</p>
111 <div class="bru-rule" style="height:3px;width:48px;margin-top:32px"></div>
112 <div class="bru-mono" style="font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--col-text-3);margin-top:14px">&mdash; the studio</div>
113 </div>
114</section>
115[/if]
116
117<!-- Colophon footer -->
118<footer style="border-top:6px solid var(--col-text);padding:24px 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px" class="bru-mono">
119 <span style="font-family:var(--font-display);font-size:18px;font-weight:900;color:var(--col-text);letter-spacing:-0.02em">$store_name &mdash; Vol. I</span>
120 <span style="font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--col-text-3)">Set in display + mono &middot; shop.3dshawn.com</span>
121</footer>
Keyboard: j next diff k previous diff g top G bottom r restore c compile-check ? help