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

O Operator
Diff

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

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

Added
+82
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 1cec025d2c0c
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: Bento
3 Mixed-size tiles like a bento box. Modern, varied tile sizes.
4===================================================================== -->
5
6<style>
7:root { $theme_css_vars }
8.bento-grid { display:grid; grid-template-columns:repeat(6, 1fr); grid-auto-rows:140px; gap:14px; max-width:1400px; margin:0 auto; padding:32px; }
9.bento-tile { position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--col-border); background:var(--col-surface-1); text-decoration:none; transition:transform 0.2s, border-color 0.2s; }
10.bento-tile:hover { border-color: var(--col-accent); transform: translateY(-2px); }
11.bento-tile .img { position:absolute; inset:0; background-size:cover; background-position:center; }
12.bento-tile .meta { position:absolute; bottom:0; left:0; right:0; padding:14px; background:linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%); color:#fff; }
13/* Default tile size - varied by position via nth-child for visual rhythm */
14.bento-tile { grid-column: span 2; grid-row: span 1; }
15.bento-tile:nth-child(8n+1) { grid-column: span 3; grid-row: span 2; }
16.bento-tile:nth-child(8n+4) { grid-column: span 2; grid-row: span 2; }
17.bento-tile:nth-child(8n+7) { grid-column: span 3; grid-row: span 1; }
18@media (max-width: 900px) {
19 .bento-grid { grid-template-columns:repeat(2, 1fr); }
20 .bento-tile, .bento-tile:nth-child(n) { grid-column: span 1 !important; grid-row: span 1 !important; }
21}
22</style>
23
24[if:$preview_banner]
25<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">$preview_banner</div>
26[/if]
27
28<header style="background:var(--col-bg);padding:24px 32px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--col-border)">
29 <a href="/store.cgi?id=$store_id" style="display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0">
30 <div class="brand-mark" style="background:linear-gradient(130deg, var(--col-accent), var(--col-accent-bright))">$store_initials</div>
31 <span style="font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--col-text)">$store_name</span>
32 </a>
33 <nav style="display:flex;gap:18px;align-items:center;flex-wrap:wrap">
34 [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]
35 </nav>
36 <div style="flex:1;display:flex;justify-content:center;min-width:0">$store_search_form</div>
37 <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap">
38 $store_signin_link
39 $store_cart_link
40 </div>
41</header>
42
43[if:$is_specific_page]
44 [if:$page_not_found]<section style="padding:120px 32px;text-align:center"><h1 class="hero-title" style="font-size:48px">Page not found</h1></section>[/if]
45 [if:!$page_not_found]<section style="padding:60px 32px;max-width:900px;margin:0 auto"><h1 class="hero-title" style="font-size:42px">$page_title</h1><div class="text-secondary" style="font-size:16px;line-height:1.7;margin-top:18px;white-space:pre-wrap">$page_body</div></section>[/if]
46[/if]
47
48[if:!$is_specific_page]
49<!-- Hero strip -->
50<section style="padding:48px 32px 24px;max-width:1400px;margin:0 auto">
51 <h1 style="font-family:var(--font-display);font-size:clamp(36px,5vw,60px);font-weight:700;line-height:1.05;color:var(--col-text);margin:0;letter-spacing:-0.02em">A bento of $product_count items.</h1>
52 <p style="font-size:16px;color:var(--col-text-2);margin-top:14px;max-width:600px">$store_tagline</p>
53</section>
54
55<!-- Bento grid: tiles cycle through sizes for visual variety -->
56<section id="shop" class="bento-grid">
57 [loop:@products]
58 <a href="/listing_details.cgi?id=$loop1.id" class="bento-tile">
59 <div class="img" style="background-image:url('$loop1.hero_image')"></div>
60 <div class="meta">
61 <div style="font-size:14px;font-weight:700">$loop1.title</div>
62 <div style="display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;opacity:0.9">
63 <span>$loop1.price</span>
64 <span>$loop1.rating_n reviews</span>
65 </div>
66 </div>
67 </a>
68 [/loop]
69 $pagination_html
70</section>
71
72<section id="about" style="background:var(--col-bg-2);padding:60px 32px;border-top:1px solid var(--col-border);margin-top:32px">
73 <div style="max-width:800px;margin:0 auto;text-align:center">
74 <h2 style="font-family:var(--font-display);font-size:32px;color:var(--col-text);font-weight:700">About $store_name</h2>
75 <p style="font-size:15px;color:var(--col-text-2);line-height:1.8;margin-top:16px">$store_about</p>
76 </div>
77</section>
78[/if]
79
80<footer style="border-top:1px solid var(--col-border);padding:24px 32px;text-align:center">
81 <div class="text-xs text-dim" style="letter-spacing:1.5px;text-transform:uppercase">$store_name &middot; powered by shop.3dshawn.com</div>
82</footer>