Add six new product pages with SEO optimization and a shop section

Introduces six new HTML product pages (e.g., rubiks-cube-mug-auf-victim.html) with individual SEO meta tags, Open Graph, Twitter cards, and structured data. Updates index.html to include a new 'Shop' section, adds robots.txt and sitemap.xml, and enhances homepage SEO with a canonical URL, organization schema, and an ItemList schema for products.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: cb7f5886-1e99-485f-ba60-5e1aed72d023
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/z77BLws
Replit-Helium-Checkpoint-Created: true
This commit is contained in:
Replit Agent
2026-07-05 20:18:51 +00:00
parent 0bdc092a05
commit 0f60be4174
12 changed files with 1099 additions and 11 deletions

View File

@@ -176,6 +176,55 @@ section {
.cube-face.bottom { transform:rotateX(-90deg) translateZ(clamp(75px,10vw,120px)); }
.cubie { border:1px solid rgba(0,0,0,0.3); }
/* ── SHOP GRID (home + related products) ── */
#shop { background: var(--bg); }
.shop-grid, .related-grid {
display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1.4rem;
}
.product-card {
display:flex; flex-direction:column; background:var(--surface);
border:1px solid var(--border); text-decoration:none; color:inherit;
transition:transform 0.2s, border-color 0.2s;
}
.product-card:hover { transform:translateY(-4px); border-color:var(--border-heavy); }
.product-card-img { width:100%; aspect-ratio:1/1; overflow:hidden; background:#fff; border-bottom:1px solid var(--border); }
.product-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.3s; }
.product-card:hover .product-card-img img { transform:scale(1.04); }
.product-card-body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:0.3rem; }
.product-card-cat { font-family:'Space Mono',monospace; font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--orange); }
.product-card-name { font-size:1rem; font-weight:700; color:var(--white); line-height:1.3; }
.product-card-link { font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:0.4rem; }
/* ── PRODUCT PAGE ── */
.breadcrumb {
font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.04em;
color:var(--muted); margin-bottom:2.4rem; text-transform:uppercase;
}
.breadcrumb a { color:var(--muted); text-decoration:none; }
.breadcrumb a:hover { color:var(--orange); }
.product-grid {
display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:start;
}
@media(max-width:820px){ .product-grid { grid-template-columns:1fr; gap:2rem; } }
.product-image-wrap {
background:#fff; border:1px solid var(--border); overflow:hidden;
}
.product-image-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.product-info { display:flex; flex-direction:column; }
.product-title {
font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:900; letter-spacing:-0.02em;
line-height:1.1; margin:0.6rem 0 1rem; color:var(--white);
}
.product-price {
font-family:'Space Mono',monospace; font-size:1.1rem; font-weight:700;
color:var(--white); min-height:1.6rem; margin-bottom:1.2rem;
}
.product-description {
font-size:1rem; line-height:1.75; color:rgba(26,24,21,0.68);
min-height:2rem; margin-bottom:2rem;
}
.product-info .btn-primary { align-self:flex-start; }
/* ── ABOUT ── */
.about-bio-grid {
display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;